首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何在python中自动回答“是”?

我如何在python中自动回答“是”?
EN

Stack Overflow用户
提问于 2017-04-10 07:11:21
回答 3查看 2.1K关注 0票数 1

假设我有一个稍后运行apt upgrade -y的脚本,我需要手动回答不同包的这些问题。我怎么能自动这么做?

设置virtualbox-来宾-x11 (5.0.32-dfsg-0ubuntu1.16.04.2)

代码语言:javascript
复制
Configuration file '/etc/X11/Xsession.d/98vboxadd-xclient'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** 98vboxadd-xclient (Y/I/N/O/D/Z) [default=N] ?  conffile prompt detected: /etc/X11/Xsession.d/98vboxadd-xclient /etc/X11/Xsession.d/98vboxadd-xclient.dpkg-new

我的脚本能够检测到confile提示符,但是我应该如何自动地回答是呢?

通过使用python-apt api,我能够通过此函数检测提示。

代码语言:javascript
复制
def conffile(self, current, new):
    print " conffile prompt detected: %s %s" % (current, new)

    """(Abstract) Called when a conffile question from dpkg is detected."""
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-05-05 20:26:15

对于那些像我一样迷失的人,答案是:

代码语言:javascript
复制
import apt_pkg

apt_pkg.init_config()
apt_pkg.config.set("DPkg::Options::", "--force-confnew")

这将使apt自动接受新的配置文件。

票数 0
EN

Stack Overflow用户

发布于 2017-04-10 11:44:44

使用yes命令:

代码语言:javascript
复制
yes Y | apt ...
票数 2
EN

Stack Overflow用户

发布于 2017-04-10 07:44:54

由于(问题下的注释)您使用的是Python-APT,所以首先想到的方法是使用配置类来设置conf['APT::Get::Assume-Yes'] = True

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

https://stackoverflow.com/questions/43316879

复制
相关文章

相似问题

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