python - 将变量传递给子进程调用

标签 python subprocess

我正在尝试将我的变量从 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/

相关文章:

python - 如何获取 PyWin32 进程的 PID

python - 如何使用 Popen.communicate(在 Linux 上)传递击键(ALT+TAB)?

java - Python子进程调用预编译的java

python - 如何在分组条形顶部添加百分比

python - 如何迭代 urlparse.urlsplit() 结果 Python

python - 如何将多个参数传递给 Google App Engine python 中的处理程序?

python - 命令通过终端运行,但不能通过 python 系统调用运行

python - 无法使用方法在python中设置类属性

python - Wireshark 命令 - python

python-3.x - 启动本地 flask 服务器以使用 pytest 进行测试