📅  最后修改于: 2023-12-03 15:19:16.559000             🧑  作者: Mango
shutil.chown()
方法用于改变文件或目录的所有者和/或组。
shutil.chown(path, user=None, group=None)
path
:路径字符串表示要更改所有者和/或组的文件/目录。user
:所有者的新用户ID。group
:所有者的新组ID。此方法没有返回值。
如果从路径创建的状态表示已不存在,请引发 OSError
异常。
import os
import shutil
# 创建示例文件
with open("example.txt", "w") as f:
f.write("This is an example file.")
# 获取文件的当前所有者和组
print(os.stat("example.txt").st_uid) # 输出:1000
print(os.stat("example.txt").st_gid) # 输出:1000
# 更改文件的所有者为root
shutil.chown("example.txt", user="root")
# 获取文件的当前所有者和组
print(os.stat("example.txt").st_uid) # 输出:0
print(os.stat("example.txt").st_gid) # 输出:1000
# 更改文件的所有者和组
shutil.chown("example.txt", user="root", group="root")
# 获取文件的当前所有者和组
print(os.stat("example.txt").st_uid) # 输出:0
print(os.stat("example.txt").st_gid) # 输出:0
# 删除示例文件
os.remove("example.txt")
以上示例代码输出:
1000
1000
0
1000
0
0
在使用此方法更改所有者和组之前,请确保您拥有更改文件所有者和/或组的权限。此外,在更改所有者和组之前,建议检查文件的当前所有者和组。