本文实例讲述了Python选择性拷贝操作。分享给大家供大家参考,具体如下:
问题如下:
编写一个程序,遍历一个目录树,查找特的那个拓展名的文件(如,.jpg或.pdf)。不论这些文件位置在哪里,将它们拷贝到一个新的文件夹中
思路如下:
- 程序需要做以下事情:
遍历文件目录树,并返回相关文件夹及文件信息
查找特定文件名文件
将找到的特定文件拷贝到新文件夹
- 代码需要做以下事情:
导入os,shutil模块
input()输入需要查找的文件拓展名,遍历的文件夹及复制目标文件夹
os.walk(0遍历目录树
filename.endswith('')查找特定文件名文件
shutil模块移动,复制相应文件
拷贝完成反馈结果
代码如下:
import os, shutil fiName = input("请输入需要遍历的文件夹地址:") baseName = input("请输入需要查找文件的拓展名(如:.pdf,.txt,.jpg):") toName = input("请输入需要移动到的地址:") for folderName,_, filenames in os.walk(fiName): #os.walk默认返回三个参数,因为第二个参数返回子文件夹用不上,因此设置了 -参数,填充位置 print('当前遍历文件夹:' + folderName) for filename in filenames: if filename.endswith(baseName): print("当前文件夹的“{0}”文件有:{1}".format(baseName,filename)) filePath = folderName +'\\'+ filename #加上'\\'转义字符,才是正确的路径 shutil.copy(filePath,toName) print("拷贝文件“{0}”到“{1}”成功!".format(baseName,toName))
运行结果如下:
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。