使用shutil模块在Python中处理文件元数据

2023-03-26 00:00:00 数据 文件 模块

在 Python 中,可以使用 shutil 模块的 copystat 函数来处理文件元数据。下面是一个简单的示例:

import os
import shutil

# 创建文件 'pidancode.txt'
with open('pidancode.txt', 'w') as f:
    f.write('Hello, pidancode.com!')

# 复制文件 'pidancode.txt' 到目录 'pidancode_copy/'
shutil.copy2('pidancode.txt', 'pidancode_copy/')

# 修改文件 'pidancode.txt' 的访问时间和修改时间
os.utime('pidancode.txt', (1000000000, 1000000000))

# 复制文件 'pidancode.txt' 的元数据到 'pidancode_copy/pidancode.txt'
shutil.copystat('pidancode.txt', 'pidancode_copy/pidancode.txt')

# 查看文件 'pidancode_copy/pidancode.txt' 的元数据
print(os.stat('pidancode_copy/pidancode.txt'))

上述代码中,首先创建了一个文件 'pidancode.txt'。接着使用 shutil.copy2 方法将文件 'pidancode.txt' 复制到目录 'pidancode_copy/'。然后使用 os.utime 方法修改文件 'pidancode.txt' 的访问时间和修改时间。接着使用 shutil.copystat 方法将文件 'pidancode.txt' 的元数据复制到 'pidancode_copy/pidancode.txt'。最后使用 os.stat 方法查看文件 'pidancode_copy/pidancode.txt' 的元数据。

需要注意的是,在使用 copystat 函数时,目标文件必须已经存在。另外,在某些文件系统中,修改文件元数据可能需要管理员权限。

相关文章