APT 命令行界面类似是/否输入?

2023-11-23

有没有什么捷径可以实现APT(高级封装工具)Python 中的命令行界面吗?

I mean, when the package manager prompts a yes/no question followed by [Yes/no], the script accepts YES/Y/yes/y or Enter (defaults to Yes as hinted by the capital letter).

我在官方文档中找到的唯一内容是input and raw_input...

我知道模仿并不难,但是重写很烦人:|


正如您提到的,最简单的方法是使用raw_input()(或者简单地input() for Python 3)。没有内置的方法可以做到这一点。从食谱 577058:

import sys


def query_yes_no(question, default="yes"):
    """Ask a yes/no question via raw_input() and return their answer.

    "question" is a string that is presented to the user.
    "default" is the presumed answer if the user just hits <Enter>.
            It must be "yes" (the default), "no" or None (meaning
            an answer is required of the user).

    The "answer" return value is True for "yes" or False for "no".
    """
    valid = {"yes": True, "y": True, "ye": True, "no": False, "n": False}
    if default is None:
        prompt = " [y/n] "
    elif default == "yes":
        prompt = " [Y/n] "
    elif default == "no":
        prompt = " [y/N] "
    else:
        raise ValueError("invalid default answer: '%s'" % default)

    while True:
        sys.stdout.write(question + prompt)
        choice = input().lower()
        if default is not None and choice == "":
            return valid[default]
        elif choice in valid:
            return valid[choice]
        else:
            sys.stdout.write("Please respond with 'yes' or 'no' " "(or 'y' or 'n').\n")

(对于 Python 2,使用raw_input代替input.) 使用示例:

>>> query_yes_no("Is cabbage yummier than cauliflower?")
Is cabbage yummier than cauliflower? [Y/n] oops
Please respond with 'yes' or 'no' (or 'y' or 'n').
Is cabbage yummier than cauliflower? [Y/n] [ENTER]
>>> True

>>> query_yes_no("Is cabbage yummier than cauliflower?", None)
Is cabbage yummier than cauliflower? [y/n] [ENTER]
Please respond with 'yes' or 'no' (or 'y' or 'n').
Is cabbage yummier than cauliflower? [y/n] y
>>> True
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

APT 命令行界面类似是/否输入? 的相关文章

随机推荐

  • 通过 HTML/PHP 使用 htaccess 自定义登录

    我正在开发一个网站 该网站的目录受 htaccess 保护 我想创建一个自定义登录页面 而不是依赖浏览器默认页面 有人对此有经验吗 我想通过 HTML 表单进行连接 有人觉得可能吗 Thanks 是的 这是可能的 但您不应该使用 htacc
  • 在视图中显示当地时间

    在 config application rb 中 我的文件中有 config time zone UTC 不带引号 我假设这是为了将输入到视图中的用户时间转换为存储在数据库中的 UTC 我的问题是 如何将数据库中的 UTC 值转换为用户的
  • 创建 iOS/OSX 框架:在分发给其他开发人员之前是否有必要对其进行协同设计?

    我正在学习如何创建 iOS 和 OSX 框架 让我们以 iOS 为例 到目前为止 以下步骤对我有效 使用 sdk iphonesimulator 和 Build 操作的 xcodebuild 框架 使用 sdk iphoneos 和 Bui
  • 使用 iOS hooks 将照片发布到 Instagram

    我在 iOS 应用程序中使用以下代码来使用 Instagram iPhone 挂钩将照片发布到 Instagram 我只希望 打开方式 菜单有 Instagram 应用程序 没有其他应用程序 但就我而言 Camera 也出现了 如何限制 I
  • 在 slime REPL 中使用 clojure.contrib 函数

    我想在 REPL 的 slime 中使用 clojure contrib trace 命名空间中的函数 我怎样才能让史莱姆自动加载它们 一个相关的问题 如何将特定的命名空间添加到正在运行的 repl 中 在 clojure contrib
  • 尝试使用 ImageMagick 将 200 个 jpg 文件转换为 mp4。一遍又一遍地收到相同的错误

    我正在尝试将 200 个 ppm 文件中的 jpg 文件转换为一个 mp4 文件 在与 jpg 文件相同的目录中 我运行了以下代码 convert delay 6 quality 95 test ppm movie mp4 并收到此错误消息
  • 将参数列表传递给 shell 中的命令

    如果我有一个文件列表说file1 file20 如何运行以文件列表作为参数的命令 例如myccommand file1 file2 file20 如果你的列表在你的参数向量中 也就是说 如果你从以下内容开始 yourscript file1
  • 如何应用 ndimage.generic_filter()

    我正在尝试学习 ndimage 但不知道如何通用过滤器 功能有效 文档提到用户函数将应用于用户定义的足迹 但不知何故我无法做到 这是示例 gt gt gt import numpy as np gt gt gt from scipy imp
  • 如何从视图控制器以编程方式绘制一条线?

    我有一个UIViewController 如何在以编程方式创建的视图之一中画一条线 有两种常见的技术 Using CAShapeLayer 创建一个UIBezierPath 将坐标替换为您想要的任何坐标 UIBezierPath path
  • 在 WCF 测试客户端 (WcfTestClient.exe) 中按字母顺序列出服务操作

    我经常使用WCF测试客户端 不幸的是 该工具不按字母顺序排序 也不按 出现顺序 在服务合同类中声明操作的顺序 排序 如果有很多操作 那么很难找到具体的操作 有没有办法强制 WCF 测试客户端按字母顺序对操作进行排序 默认排序从何而来 尽管似
  • 使用自适应语法[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在尝试实现一种语法可以动态更改的语言 或语言族 我没有找到可以作为研究案例的例子 您能给我一些在现实世界 甚至是学术界 中实际使用的参考吗 使用
  • 如何增加 freebase API 结果限制

    我在 freebase 的文档中找不到任何相关内容 但他们似乎将结果数量限制为 100 例如 type base popstra celebrity name null 仅返回 100 个结果 而 type base popstra cel
  • 如何可视化堆转储?

    我们使用 golang 开发了一个服务器 它将接收并发请求并处理请求 创建大对象 树 然后发回回复 但这些对象不会被垃圾回收 所以我决定分析内存中的对象 首先 我编写了一个简单的程序 package main import fmt io i
  • 64 位领域中的堆碎片

    过去 当我研究长期运行的 C 守护进程时 我必须处理堆碎片问题 为了避免耗尽连续的堆空间 需要保留大量分配池之类的技巧 对于 64 位地址空间来说这仍然是一个问题吗 性能对我来说不是一个问题 所以我更愿意简化我的代码 不再处理缓冲池之类的事
  • 在 Emacs 中将光标移动到 12 个月旋转日历上的日期的算法

    GOAL 此线程的目标是创建两 2 个数学公式 以替换函数中 lawlist 的长手解lawlist calendar cursor to visible date 以下 故事问题 Emacs 中现在存在一个 12 个月的日历 每次向前和向
  • 正则表达式用逗号分隔千位并保留两位小数

    我最近在回答另一个 StackOverflow 问题时想到了这段代码 基本上 在模糊时 此代码将正确地以千位逗号分隔 并将小数点保留为两位数 就像美元的书写方式 7 745 56 我想知道是否有更简洁的方法使用正则表达式到 分隔并截掉多余的
  • Spring Security 3.0:如何指定自定义过滤器应用的 URL?

    我正在将 Spring Security 3 0 与 JSP 结合使用 我创建了一个 RequireVerificationFilter 它将未经验证的用户重定向到 验证您的电子邮件 页面 我将过滤器添加到了 Spring Security
  • 结合 Clojure defprotocol 和 defrecord

    据我所知 如果我想定义一个协议 defprotocol 只会由一个人实现defrecord 我还是要先定义协议 然后定义defrecord实现它的 defprotocol AProtocol a method this b method t
  • 如何在核心数据中存储数组(Swift)

    我的代码读取一个文本文件并将该文件的内容存储在一个数组中 我在下一步时遇到困难 将数组的内容传输到 Core Data 中 txt 文件只是水果的简短列表 实体是 Fruit 属性是 fruitname 当我打印时 只显示最后一个数组元素
  • APT 命令行界面类似是/否输入?

    有没有什么捷径可以实现APT 高级封装工具 Python 中的命令行界面吗 I mean when the package manager prompts a yes no question followed by Yes no the s