Потеря данных в 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 тоже не обязательно должен быть файлом.

Другие вопросы по тегам