求通过python实现,在指定目录下遍历所有文件,将以.txt为后缀的文件移动到另一指定目录中
2个回答
展开全部
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 )
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 )
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)
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)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询