首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中提供输入流?

如何在python中提供输入流?
EN

Stack Overflow用户
提问于 2013-01-23 10:21:59
回答 2查看 164关注 0票数 2

我正在通过python os模块卸载Linux中的一些包,我的代码如下

代码语言:javascript
复制
def uninstallZdev():
    print 'Uninstallation as a Super User'
    system('apt-get remove xxx')

uninstallPackage()

但是移除包问如下

在此操作之后,将释放2,621 kB磁盘空间。你想继续Y/n如何通过python在程序中给Y

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-23 10:26:05

配置apt-get不要询问(请参阅 man page )

代码语言:javascript
复制
apt-get --assume-yes remove xxx

对于无法配置的工具,请使用pexpect来指导该过程。pexpect允许您侦听子进程的输出,并根据一个简单的API发送输入:

代码语言:javascript
复制
import pexpect

ag = pexpect.spawn('apt-get remove xxx')
ag.expect('Do you want to continue')
ag.send('Y')
ag.wait()
ag.close()
票数 4
EN

Stack Overflow用户

发布于 2013-01-23 10:27:43

使用-y实现apt-get的自动化。因此,您不必模拟"y"-press。

顺便说一句,我建议使用子进程模块,特别是如果您计划使用stdin/stdout。

还有:小心点!您似乎把它作为root运行,或者使用sudo运行。如果由于某种原因,xxx碰巧是libc,那么恢复系统会很有趣。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14477321

复制
相关文章

相似问题

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