python 遍历目录,复制指定文件

说明:

用os.walk遍历目录 返回3个值,(parent,dirs,files),其中parent为字符串,上一级目录路径。dirs为list,内容为当前所有目录,files为list,当前所有文件

用win32file.CopyFile复制文件,3个参数,(源,目的,1/0) 1不覆盖,0覆盖




#encoding=utf-8
#author: skybug
#date: 2014-01-14
#function: 遍历图片目录,复制图片首页
import os,sys,getopt,win32file
def walkdir_cp(srcdir,dstdir):
    srcdir = os.path.abspath(srcdir)
    dstdir = os.path.abspath(dstdir)
    for parent,dirs,files in os.walk(srcdir):
        if os.path.isdir(parent.replace(srcdir,dstdir)) ==False:
            os.mkdir(parent.replace(srcdir,dstdir))   #创建目的路径目录
        for file in files:
            if file.split('.')[0].split('_')[1]=='1' :    #判断是否为全文首页                      
                a = os.path.join(parent,file)
                b = os.path.join(parent.replace(srcdir,dstdir),file)
                win32file.CopyFile(a,b,0)                   #拷贝
    print 'cp OK'
def mkdir(srcdir,dstdir):
    srcdir = os.path.abspath(srcdir)
    dstdir = os.path.abspath(dstdir)
    for parent,dirs,files in os.walk(srcdir):
    print 'mkdir ok'
def usage():
    print '--src=srcdir          srcdir\n'
    print '--dst=srcdir          dstdir\n'
    print '-h                    echo this info\n'
opts, args = getopt.getopt(sys.argv[1:], "h",["src=","dst="]) #解析输入参数
for op,value in opts:
    if op  == '--src':
        srcdir = value
    elif op == '--dst':
        dstdir = value
    elif op == '-h':
        usage()
        sys.exit()
    else:
        usage()
        sys.exit()
walkdir_cp(srcdir,dstdir)

执行 python walk_cp_firstfile.py  --src=源路径 --dst=目标路径


你可能感兴趣的:(python,文件复制,目录遍历)