我正在尝试将我的变量从 raw_input
传递给我的子进程命令。我是 Python 新手。他将不胜感激任何帮助。
#!/usr/bin/python
import subprocess
print "\nWhat user name"
username = str(raw_input('username: '))
print "\nWhat is the user id"
userid = int(raw_input('Enter user id: '))
print "\nWhat is the user\'s primary group?"
primarygroup = int(raw_input('Enter group: '))
print "\nWhat is the user\'s secondary group?"
secondarygroup = int(raw_input('Enter group: '))
subprocess.call(['useradd' '-m' '-g' _primarygroup '-G' _secondarygroup '-u' _userid _username])
print"\nThe user has been added"
最佳答案
尝试用逗号分隔值:
subprocess.call(['useradd', '-m', '-g', _primarygroup, '-G', _secondarygroup, '-u', _userid, _username])
见 http://docs.python.org/library/subprocess.html#subprocess.call - 它接受一个数组,其中第一个参数是程序,所有其他参数都作为参数传递给程序。
另外不要忘记检查函数的返回值是否有零返回码,这意味着“成功”,除非用户是否成功添加对您的脚本无关紧要。
关于python - 将变量传递给子进程调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4795190/