2

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

def uninstallZdev():
    print 'Uninstallation as a Super User'
    system('apt-get remove xxx')

uninstallPackage()

但删除包问喜欢

此操作后,将释放 2,621 kB 磁盘空间。您要继续 [Y/n] 吗? 如何通过python在程序中给出Y

4

2 回答 2

4

配置apt-get不询问(参见apt-get手册页

apt-get --assume-yes remove xxx

对于无法配置的工具,请使用它pexpect来引导流程。pexpect让您监听子进程的输出,并基于简单的 API 发送输入:

import pexpect

ag = pexpect.spawn('apt-get remove xxx')
ag.expect('Do you want to continue')
ag.send('Y')
ag.wait()
ag.close()
于 2013-01-23T10:26:05.357 回答
0

使用-y来自动化 apt-get。因此,您不必模拟“y”-press。

顺便说一句,我建议使用 subprocess-module,特别是如果您打算使用 stdin/stdout。

并且:小心!您似乎以 root 身份或使用 sudo 运行它。如果xxx由于某种原因碰巧是 libc-bin,那么恢复系统会很有趣。

于 2013-01-23T10:27:43.830 回答