如何在python中设置文件所有者?

时间:2012-05-30 14:55:36

标签: python file-permissions

首先可以用python设置文件的所有者吗? 如果是这样,你如何用python设置文件的所有者?

2 个答案:

答案 0 :(得分:36)

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?

答案 1 :(得分:0)

较旧,但将来可能对希望在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)