来自python的Linux命令无法完成

时间:2012-07-18 20:30:34

标签: python os.system

如果我从终端运行adduser testuser,命令会询问一些问题,比如密码。但是这段代码:

import os
a = os.system('useradd testuser')

存在错误代码0(没有问题)。但它没有问任何问题。这是为什么?我该如何解决它呢?我也尝试过subprocess,它做了同样的事情。

2 个答案:

答案 0 :(得分:8)

这是因为adduseruseradd是两个不同的程序。前者询问互动问题,后者则没有。如果您需要交互式提示,请致电adduser,然后使用subprocess.call()进行操作。

答案 1 :(得分:2)

你的意思是它没有完成,或者你没有看到预期的结果。

另外,您是否注意到您在问题文本中说“adduser”而在python代码中是“useradd”?您可能会混淆这两个类似的命令!