python 复制带有元数据的文件,shutil 与手动打开和写入重复文件

标签 python shutil file-copying

根据http://docs.python.org/library/shutil.html使用这些方法不会复制元数据,包括所有权、ACL 和资源分支。使用基本文件读取方法打开文件并将其逐行写回重复文件是否可以保持文件元数据完整?我的猜测是肯定的。目标磁盘的格式必须与源磁盘的格式相同才能保持完整吗?我的猜测是否定的。 我浏览了一下,没有看到任何具体的内容。我想使用 python 将 3 台运行不同操作系统的不同计算机备份到一个中心位置。重要的是,所复制的文件是相同的,就好像我可以替换原始文件并且看不到任何差异一样。感谢您的任何见解!

最佳答案

我有一个类似的问题,我必须保留 UNIX 文件系统上的所有者和组信息。这些只是整数,但 Shutil.copy2 不保留它们。尽管您是跨系统复制,但您只需修改代码以将元数据存储在某处,然后在完成复制后应用它。

import os
import shutil
import stat

def CopyMinusP(src, dest):
  file_stat = os.stat(src)
  owner = file_stat[stat.ST_UID]
  group = file_stat[stat.ST_GID]
  print "Owner: %d  Group: %d" % (owner, group)  # for diagnostics
  shutil.copy2(src, dest)
  os.chown(dest, owner, group)

关于python 复制带有元数据的文件,shutil 与手动打开和写入重复文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11888001/

相关文章:

python - 根据元素的位置 reshape 列表列表

python - Winzip 无法在 Windows 上打开由 python shutdown.make_archive 创建的存档。在 ubuntu 上存档管理器运行良好

python - 我可以选择要在shutil 中存档的文件吗?

java - bash 命令使用 java process builder 复制文件

python - 如何在同一函数调用中使用可选命名参数和 *mulit_vars?

python - 使用相关模型的自定义管理器的 Django 过滤器相关字段

python - 从按日期/名称分组的单独目录中的 JPEG 生成 PDF

python - 通过递归函数将文件夹、子文件夹和文件从Python中的一个路径复制到另一个路径

node.js - 复制 Angular 项目目录不起作用

windows - TFileListBox 组件查找不再存在的文件