如何在python中设置文件所有者?
Posted
技术标签:
【中文标题】如何在python中设置文件所有者?【英文标题】:How to set a files owner in python? 【发布时间】:2012-06-04 20:06:50 【问题描述】:首先可以用python设置文件的所有者吗? 如果是这样,您如何使用 python 设置文件的所有者?
【问题讨论】:
大概这是在 UNIX(类似)操作系统上?另外,whathaveyoutried.com. 【参考方案1】:os.chown(path, uid, gid)
http://docs.python.org/library/os.html
uid和gid可以从字符串中检索到
import pwd
import grp
import os
uid = pwd.getpwnam("nobody").pw_uid
gid = grp.getgrnam("nogroup").gr_gid
参考:How to change the user and group permissions for a directory, by name?
【讨论】:
os.chown 仅在 Unix 上可用。【参考方案2】:旧的,但将来可能对那些希望在 Windows 中设置文件所有者的人有所帮助。
*我还没有找到一个纯粹的“pythonic”方法,这是替代方法:
Windows 提供了以下我们将利用的 takeown.exe 实用程序:
takeown /f folder_path /r /d Y('r' 用于递归地获取树中所有文件和文件夹的所有权,'d' 用于默认输入参数,允许获取所有文件\文件夹的所有权)。 更多文档:msdn docs
代码示例:
from subprocess import STDOUT, check_output
check_output(["takeown", "/f", path_, "/r", "/d", "Y"], stderr=STDOUT)
【讨论】:
takeown /d /y 仅适用于英语。如果您正在运行德语等,则“Y”选项不正确(德语中的 J 等)。这不是一种超级可靠的方法。 @JasonFloyd 哦,天哪。我不知道哪个是更糟糕的决定:使程序选项依赖于语言环境,或者使用 Windows 进行认真的开发。以上是关于如何在python中设置文件所有者?的主要内容,如果未能解决你的问题,请参考以下文章
python - 如何在python中的旭日形图的所有层中设置每个类别的颜色?