Python - 按用户名 chown 文件夹

Python - chown folder by username

我正在尝试为 chown 文件夹所有者创建脚本,但我遇到了一些问题。

我在 /home 中有很多文件夹。例如:

/home/user1
/home/user2
/home/user_n

并且想根据文件夹名称更改文件夹的所有者。文件夹 user1 需要所有者 user1,文件夹 user2 需要所有者 user2user_n 所有者 user_n.

现在我有:

#!/usr/bin/python

import os

# Show only filders in /home
path = "/home/"
folderu = [f for f in os.listdir(path)
        if os.path.isdir(os.path.join(path, f))]
print folderu

这是为我打印 /home 中的所有文件夹名称。

我正在尝试这个:

#!/usr/bin/python

import os
import pwd
import grp

# Show only filders in /home
path = "/home/"
folderu = [f for f in os.listdir(path)
        if os.path.isdir(os.path.join(path, f))]
print folderu

for somevar in folderu:
        uid = pwd.getpwnam(folderu).pw_uid
        gid = grp.getgrnam(folderu).gr_gid
        os.chown(folderu, uid, gid)

但这行不通。

它的工作脚本:

#!/usr/bin/python

import os
import pwd
import grp

# Show only filders in /home
path = "/home/"
folderu = [f for f in os.listdir(path)
    if os.path.isdir(os.path.join(path, f))]

for somevar in folderu:
    uid = pwd.getpwnam(somevar).pw_uid
    gid = grp.getgrnam(somevar).gr_gid
    os.chown(somevar, uid, gid)