我正在制作一个小型的Python程序来复制一些文件。我的文件名在“selectedList”列表中。从列表中复制文件Python
用户已选择源目录“self.DirFilename”和目标目录“self.DirDest”。
我使用cp而不是shutil,因为我读过shutil很慢。
继承人我的代码:
for i in selectedList:
src_dir = self.DirFilename + "/" + str(i) + ".mov"
dst_dir = self.DirDest
r = os.system('cp -fr %s %s' % (src_dir, dst_dir))
if r != 0:
print 'An error occurred!'**
我想复制到搜索源目录中所给的文件,然后重新创建在目标文件夹结构以及复制文件。
任何建议都会有帮助(就像我正在做的任何大量明显的错误) - 它是我的第一个Python程序,我快到了!
感谢 加文
为了避免具有有趣的非转义字符问题和安全问题(如空白),这样做:'R = subprocess.call(( 'CP', '-fr',src_dir,dst_dir + '/' ))' – pts 2013-04-29 20:41:57
仅供参考'shutil'由于其缓冲区大小仅为16K而复制速度慢。根据多个来源(如http://blogs.blumetech.com/blumetechs-tech-blog/2011/05/faster-python-file-copy.html),较大的缓冲区大小可能会产生很大的差异。对于递归副本,更改'shutil'缓冲区大小并不容易。请参阅上面的链接以获取可能的实现可能的巨大差异与不同的磁盘搜索模式有关。 – pts 2013-04-29 20:46:09
这对我来说不是什么问题。 – pts 2013-04-29 20:48:51