Потеря данных в Python 3.5 shutil.copyfile
Я использую библиотеку shutil. Когда я использую:
backuped = shutil.copyfile(file1, file2)
file2
пустой. Там нет никаких проблем с shutil.move
, Как я могу скопировать файл без потери данных?
1 ответ
Ты на маке? Shutil не работает должным образом на Mac, согласно всплывающему окну PyScripter.
Вы также должны быть более конкретными, я не мог повторить эту проблему. Тем не менее, я бы предложил проверить:
- Расширения файлов
- Расположение файлов
- Метаданные файла (это то, что теряется при копировании на Mac, также, с Mac, shutil.move работает, так что это может быть)
Вы МОЖЕТЕ сделать это вручную с файлами, как я покажу ниже, однако я думаю, что этот способ медленнее, чем другие встроенные методы.
with open (file1, "rb") as f1:
with open (file2, "wb") as f2:
f2.writelines(f1.readlines())
Это создало точную копию файла с местоположением file1
к месту file2
, Этот метод работает со всеми файлами и может быть реализован с помощью pickle для шифрования и сериализации объектов.
file2
тоже не обязательно должен быть файлом.