在Python 3.5 shutil.copyfile中丢失数据

时间:2016-09-29 12:26:43

标签: python-3.x shutil

我正在使用shutil库。当我使用时:

backuped = shutil.copyfile(file1, file2)

file2为空。 shutil.move没有任何问题。如何在不丢失数据的情况下复制文件?

1 个答案:

答案 0 :(得分:0)

你在Mac上吗?根据PyScripter弹出窗口,Shutil在Mac上无法正常工作。

你还需要更具体,我无法复制这个问题。但是,我建议检查:

  • 文件扩展程序
  • 文件位置
  • 文件元数据(这是在Mac上复制时丢失的内容,也是 Mac,shutil.move可以工作,所以可能是那样)

您可以手动使用文件,我将在下面显示,但我认为这种方式比其他内置方法慢。

with open (file1, "rb") as f1:
    with open (file2, "wb") as f2:
        f2.writelines(f1.readlines())

这创建了位置file1到位置file2的文件的精确副本。此方法适用于所有文件,可以使用pickle实现加密和序列化对象。

file2也不一定是文件。