0

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

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

存在错误代码 0(那里没有问题)。但它不问任何问题。这是为什么?我该如何解决它。我也尝试了做同样事情的子进程。

4

2 回答 2

8

这是因为adduseruseradd是两个不同的程序。前者提出交互式问题,后者不提出。如果您想要交互式提示,请调用adduser并使用subprocess.call()来执行此操作。

于 2012-07-18T20:32:12.560 回答
2

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

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

于 2012-07-18T20:34:31.527 回答