短版本:如何执行一个需要在执行后使用输入的命令?
长版本:,我正在使用构建一些漂亮的网站,让我的SVN服务器更容易管理。(我不记得所有的linux命令)
因此,我想创建,删除和编辑回购和用户使用一个网页。我刚刚谈到了一个问题,我不知道如何使用Python执行以下命令:
sudo htdigest /etc/apache2/dav_svn.htdigest "Subversion Repo" [username]我知道如何使用os.system()或subprocess.Popen()执行命令,但问题是,一旦执行该命令,它就要求在继续之前输入两次密码。使用os.system()或subprocess.Popen()的多个调用将无法工作,因为它们只是创建一个新的shell。
Python中是否有一种方法,允许在需要时使用参数?
发布于 2015-02-19 21:59:20
这取决于您可以使用popen并处理双向通信,或者如果您只是在等待已知的提示,我将使用pexpect:
因此,假设您希望生成一个名为myprocess的程序,并等待密码提示,该提示具有>(大于签名):
import pexpect
child = pexpect.spawn('myprocess')
child.expect('>')
child.sendline(password_var)
child.expect('>')
child.sendline(password_var)https://stackoverflow.com/questions/28617484
复制相似问题