使用shutil模块在Python中处理文件权限

2023-03-26 00:00:00 文件 模块 权限

在 Python 中使用 shutil 模块可以很方便地处理文件的权限。 shutil 模块提供了 shutil.chown 和 shutil.chmod 函数,可以分别修改文件的所有者和文件的权限。下面是一个修改文件权限的范例:

import shutil
import os

# 创建一个新文件 'pidancode.txt',并设置文件权限为 0o777
with open('pidancode.txt', 'w') as f:
    f.write('Hello, pidancode.com!')
shutil.chmod('pidancode.txt', 0o777)

# 检查文件权限
print('文件权限为:', oct(os.stat('pidancode.txt').st_mode)[-3:])

# 修改文件权限为 0o755
shutil.chmod('pidancode.txt', 0o755)

# 检查文件权限
print('文件权限为:', oct(os.stat('pidancode.txt').st_mode)[-3:])

上述代码中,首先使用 open 函数创建一个新文件 'pidancode.txt',并写入一些内容。接着使用 shutil.chmod 函数设置文件的权限为 0o777。然后使用 os.stat 函数获取文件的状态信息,并使用 oct 函数将文件的权限转换为八进制字符串形式。打印文件的权限。接着使用 shutil.chmod 函数将文件权限修改为 0o755,并再次打印文件的权限。

需要注意的是,shutil.chmod 函数的第二个参数是一个整数,表示文件的权限。这个整数需要使用八进制表示法,例如 0o755 表示文件的权限为 rwxr-xr-x,即所有者可读写执行,组和其他用户只可读和执行。

相关文章