我正在製作一個小型的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