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

时间:2021-04-22 12:45:11

说明:

用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=目标路径