http://www.cnblogs.com/codingfun/p/4700492.html 2015 我有一堆层级3到4级的文件夹,这里面存有的一些文件是我需要的,一些是我不需要的。需要的文件都存储在名字中有'Data'的文件夹内。现在我需要把这些文件提取(拷贝)到一个指定的文件夹里。
python对文件、文件夹的操作是非常常见的需求,学会使用它们可以对付很多类似的批量处理文件的工作。
用到的函数是
了解了这些函数后,放出代码。注意IterCopyDocs是一个迭代函数,自己调用自己,目的是模拟对目录的遍历。 import subprocess import os def IterCopyDocs(dstPath): ids = os.listdir() for id in ids: if os.path.isdir(id): if 'Data' in id: os.chdir(id) pics = os.listdir() for pic in pics: if os.path.isfile(pic): print("copy \""+pic+"\" "+dstPath) subprocess.call("copy \""+pic+"\" "+dstPath, shell=True) os.chdir('..\\') else: os.chdir(id) IterCopyDocs(dstPath) os.chdir('..\\') subprocess.call("dir", shell=True) root_dir = "C:\\Users\\Administrator\\Downloads" dst_dir = "C:\\Users\\Administrator\\Downloads" os.chdir(root_dir) # root directory of data IterCopyDocs(dst_dir) # destination directory
(完) |
|