我使用id user
命令,我得到用户的信息,例如,我得到uid=1000(user), gid=1000(user), groups=1000(user), 4(adm), 24(cdrom), 27(sudo), 30(dip), 46(pugdev), 113(lpadmin), 128(sambashare)
的输出我想做的是,不知何故将每个数字放入一个不同的变量(或者数组)然后将它们用作变量,稍后我会将程序中的这些数字翻译成单词,这样你就可以理解用户的信息,例如取组的数字并将其翻译成组号,如果是管理员或标准用户等,请获取用户ID并进行翻译。
答案 0 :(得分:1)
您不需要使用shell来生成id user
等等,因为Python有一个模块:grp
。见这里:https://docs.python.org/2/library/grp.html
对于用户信息,pwd
:https://docs.python.org/2/library/pwd.html
答案 1 :(得分:0)
解析' id'的输出会更容易。 python中的命令。你可以使用命令替换将shell中的值传递给python脚本,如下所示,
PARAMETER="$(id user)"
python script.py $PARAMETER
然后从脚本中,你可以清理出类似的值(你可能需要根据你的具体要求改变它),
import sys
lst=list()
args=sys.argv[1:]
print args
for i in args:
if '=' in i:
lst.append(i[i.find('=')+1:i.find('(')])
else:
lst.append(i[:i.find('(')])
print lst