[編輯:見下面的最終代碼]我使用下面的代碼從源目錄中隨機選擇5個文件,然後將它們複製到一個新的目錄。它給了我一個IO錯誤,它表示「沒有這樣的文件或目錄'x'存在」其中「x」是沒有目錄路徑的文件名。不知何故,它不會將路徑存儲在「文件」中。我看着這個論壇以及一個shutil教程,但我無法弄清楚。 (順便說一下,這與我提到的前一個問題類似,但代碼和錯誤發生了變化,當我得到它時,我會將最終代碼發佈到該問題)。提前致謝!shutil不存儲隨機選擇/複製文件的路徑?
import os
import shutil
import random
import os.path
src_dir = 'C:\\'
target_dir = 'C:\\Test'
src_files = (os.listdir(src_dir))
def valid_path(dir_path, filename):
full_path = os.path.join(dir_path, filename)
return os.path.isfile(full_path)
files = [f for f in src_files if valid_path(src_dir, f)]
choices = random.sample(files, 5)
for files in choices:
shutil.copyfile(files, target_dir)
print ('Finished!')
不錯!這似乎是一個竅門。現在它告訴我,我沒有寫信給我的目的地的許可,但似乎已經超過了存儲路徑的問題。謝謝! – user1252778 2012-04-10 16:22:25
看我的編輯,我認爲你需要'copy'函數而不是'copyfile'函數。乾杯:-) – jedwards 2012-04-10 16:23:44