[编辑:见下面的最终代码]我使用下面的代码从源目录中随机选择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