首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >执行linux命令,它需要使用Python进行额外的输入。

执行linux命令,它需要使用Python进行额外的输入。
EN

Stack Overflow用户
提问于 2015-02-19 21:41:21
回答 1查看 976关注 0票数 0

短版本:如何执行一个需要在执行后使用输入的命令?

长版本:,我正在使用构建一些漂亮的网站,让我的SVN服务器更容易管理。(我不记得所有的linux命令)

因此,我想创建,删除和编辑回购和用户使用一个网页。我刚刚谈到了一个问题,我不知道如何使用Python执行以下命令:

代码语言:javascript
复制
sudo htdigest /etc/apache2/dav_svn.htdigest "Subversion Repo" [username]

我知道如何使用os.system()subprocess.Popen()执行命令,但问题是,一旦执行该命令,它就要求在继续之前输入两次密码。使用os.system()subprocess.Popen()的多个调用将无法工作,因为它们只是创建一个新的shell。

Python中是否有一种方法,允许在需要时使用参数?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-19 21:59:20

这取决于您可以使用popen并处理双向通信,或者如果您只是在等待已知的提示,我将使用pexpect:

因此,假设您希望生成一个名为myprocess的程序,并等待密码提示,该提示具有>(大于签名):

代码语言:javascript
复制
import pexpect
child = pexpect.spawn('myprocess')
child.expect('>')
child.sendline(password_var)
child.expect('>')
child.sendline(password_var)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28617484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档