系统Windows 8.1 Python 3.4
重复获取FileNotFound Errno2,尝试复制目录中的所有文件。
import os
import shutil
source = os.listdir("C:\\Users\\Chess\\events\\")
for file in source :
shutil.copy(file, "E:\\events\\")
产量
FileNotFoundError : [Errno2] No such file or directory 'aerofl03.pgn'.
虽然'aerofl03.pgn'
是源列表['aerofl03.pgn', ...]
中的第一个。
如果添加了一行,结果相同:
for file in source :
if file.endswith('.pgn') :
shutil.copy(file, "E:\\events\\")
如果编码
,结果相同for file in "C:\\Users\\Chess\\events\\" :
我的shutil.copy(sourcefile,destinationfile)可以很好地复制单个文件。
答案 0 :(得分:2)
os.listdir()
仅列出 没有路径的文件名。如果没有完整路径,shutil.copy()
会将文件视为相对于当前工作目录的文件,并且当前工作目录中没有aerofl03.pgn
文件。
再次添加路径以获取完整路径名:
path = "C:\\Users\\Chess\\events\\"
source = os.listdir(path)
for filename in source:
fullpath = os.path.join(path, filename)
shutil.copy(fullpath, "E:\\events\\")
现在告诉shutil.copy()
复制C:\Users\Chess\events\aerofl03.pgn
,而不是<CWD>\aerofl03.pgn
。