求通过python实现,在指定目录下遍历所有文件,将以.txt为后缀的文件移动到另一指定目录中

十分感谢,也谢谢楼下的回答,分只能给一个,所以抱歉啦

target_dir = 'home/' #假定要拷贝到home目录
x = [ item for item in os.walk('.') ] #os.walk递归地遍历所有子文件夹
#返回的是一个list,list中每一个元素由3个部分:(path, dirs, files)
for path, dirs, files in x:
for file in files:
if file.endswith('.txt'): #找到以txt结尾的,copy之
shutil.copy( path+os.sep+file , target_dir )
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-28
从folderA copy *.txt到folderB:
dirA='folderA'
dirB='folderB'
import os, shutil
for i in os.listdir(dirA):
if i.endswith('.txt'):
shutil.copy(dirA+os.sep+i, dirB+os.sep)追问

这个无法遍历子目录吧

追答

要支持子目录可以用os.walk. 或者把上面的代码改写成函数,递归调用:

import os, shutil
dirA='folderA'
dirB='folderB'
def cptxt(src, dst):
for i in os.listdir(src):
filepath = src + os.sep + i
if os.path.isdir(filepath):
cptxt(filepath, dst)
elif i.endswith('.txt'):
print 'copy', filepath, 'to', dst
shutil.copy(filepath, dst)
if __name__ == '__main__':
cptxt(dirA, dirB)

本回答被提问者采纳