我曾经尝试过用下面的代码将文件从存储介质导出到我的计算机。成功了。在这个过程中,我一定修改了它,因为它不是递归地获取具有我想要的扩展名的文件,而是在源代码处获取所有文件。在
def xxxlist(ext, dirname, names):
ext = ext.lower()
for name in names:
if name.lower().endswith('.xxx'): # This is the file type I need.
print(os.path.join(dirname, name))
def xxxextract(src,dest):
print 'Executing Extraction (may take a minute)...'
dest_dir = os.path.dirname(dest)
try:
os.makedirs(dest_dir)
except os.error as e:
pass
shutil.copytree(src,dest)
print "Successfully exported..."
os.path.walk(path, xxxlist, '.xxx')
下面是程序的进一步部分。调用函数:
^{pr2}$如你所见,它执行了一个提取,然后列出了我想要的所有xxx文件。但是当我检查'Exports'文件夹时,所有的都被转移了,而不仅仅是通过那个扩展名。我怎样才能把它修好shutil.copytree公司我想要扩展名的文件?在
找到了解决办法!Jon Clements告诉我创建一个忽略列表并否定它。在代码中做梦的蓝瓜帮我制作了一个:
这可以与
shutil.copytree(src,dst,ignore=ignore_list)
一起使用。这是一个很好的方法:最初尝试了lambda函数,但希望导出保持其文件夹结构。在相关问题 更多 >
编程相关推荐