Python| os.lchown() 方法
Python中的OS 模块提供了与操作系统交互的功能。操作系统属于 Python 的标准实用程序模块。该模块提供了一种使用操作系统相关功能的可移植方式。
os 模块中的所有函数在文件名和路径无效或不可访问的情况下,或具有正确类型但操作系统不接受的其他参数的情况下引发OSError 。
Python中的os.lchown()
方法用于将指定文件路径的所有者和组 id更改为指定的数字所有者 id (UID) 和组 id (GID)。此方法不遵循符号链接,等效于os.chown(path, uid, gid, follow_symlinks = False)
方法。
注意: os.lchown()
方法仅在 UNIX 平台上可用,并且此方法的功能通常仅对超级用户或特权用户可用。
Syntax: os.lchown(pth, uid, gid)
Parameters:
path: A path-like object representing the he file path for which ownership to be set.
uid: An integer value representing the owner id to be set for the file.
gid: An integer value representing the group id to be set for the file.
Return Type: This method does not return any value.
# Python program to explain os.lchown() method
# importing os module
import os
# File path
path = "./file.txt"
# Print the current owner id
# and group id of the file
# os.stat() method will return a
# 'stat_result’ object of
# ‘os.stat_result’ class whose
# 'st_uid' and 'st_gid' attributes
# will represent owner id and group id
# of the file respectively
print("Owner id of the file:", os.stat(path).st_uid)
print("Group id of the file:", os.stat(path).st_gid)
# Change the owner id and
# the group id of the file
# using os.lchown() method
uid = 400
gid = 500
os.lchown(path, uid, gid)
print("\nOwner and group id of the file changed")
# Print the owner id
# and group id of the file
print("\nOwner id of the file:", os.stat(path).st_uid)
print("Group id of the file:", os.stat(path).st_gid)
输出:
# Python program to explain os.lchown() method
# importing os module
import os
# File path
path = "./file.txt"
# Print the current owner id
# and group id of the file
# os.stat() method will return a
# 'stat_result’ object of
# ‘os.stat_result’ class whose
# 'st_uid' and 'st_gid' attributes
# will represent owner id and group id
# of the file respectively
print("Owner id of the file:", os.stat(path).st_uid)
print("Group id of the file:", os.stat(path).st_gid)
# Change only group id of
# the file and leave
# owner id unchanged
# set id as -1 to leave
# it unchanged
uid = 1000
gid = -1
os.lchown(path, uid, gid)
print("\ngroup id of the file changed")
# Print the owner id
# and group id of the file
print("\nOwner id of the file:", os.stat(path).st_uid)
print("Group id of the file:", os.stat(path).st_gid)
输出:
# Python program to explain os.lchown() method
# importing os module
import os
# File path
path = "./file.txt"
# Creating a symlink
# of the above path
# using os.symlink() method
symlink = "file(symlink).txt"
os.symlink(path, symlink)
# Print the current owner id
# and group id of the file
# as well as the symlink pointing
# to the above specified file path
print("Owner id of the file:", os.stat(path).st_uid)
print("Group id of the file:", os.stat(path).st_gid)
print("Owner id of the symlink:", os.stat(symlink).st_uid)
print("Group id of the symlink:", os.stat(symlink).st_gid)
# Change the ownership
# of the symlink pointing
# to the above file 'file.txt'
uid = 600
gid = 700
os.lchown(symlink, uid, gid)
print("\nOwner id and group id changed")
# Print the owner id
# and group id of the file
# as well as the symlink pointing
# to the above specified file path
print("\nOwner id of the file:", os.stat(path).st_uid)
print("Group id of the file:", os.stat(path).st_gid)
print("Owner id of the symlink:", os.stat(symlink).st_uid)
print("Group id of the symlink:", os.stat(symlink).st_gid)
# As os.lchown() method
# does not follow symlinks
# so, we can not change the
# owner and group id
# through a symlink
输出:
参考: https://docs。 Python.org/3/library/os.html