2016-05-19 3 views
0

system Windows 8.1 Python 3.4
Неоднократно получайте FileNotFound Errno2, пытаясь скопировать все файлы в каталог.python 3.x shutil.copy FileNotFoundError

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 (Исходных_файлов destinationfile) отлично работает копирование отдельных файлов.

+0

Проверьте значение файла и убедитесь, что он содержит полный путь – Brody

ответ

2

os.listdir()только имя файла без пути. Без полного пути, shutil.copy() обрабатывает файл относительно вашего текущего рабочего каталога, и в вашем текущем рабочем каталоге нет файла .

Prepend путь снова, чтобы получить полный путь к файлу:

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.

 Смежные вопросы

  • Нет связанных вопросов^_^