[編集: 以下の最終コードを参照] 以下のコードを使用して、ソース ディレクトリから 5 つのファイルをランダムに選択し、それらを新しいディレクトリにコピーしています。「そのようなファイルまたはディレクトリ 'x' は存在しません」という IO エラーが表示されます。ここで、「x」はディレクトリ パスのないファイル名です。どういうわけか、パスを「ファイル」に保存していません。このフォーラムと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!')