Python:如何使用列表作为用户输入的选择源?

2024-06-20

任何人都可以检查此代码并让我知道出了什么问题吗?

input_list = ["One", "Two", "Three"]
P1 = input("Select the input: ", input_list[0], input_list[1], input_list[2])
print (P1)

与蟒蛇的raw_input不可能向用户提供预选列表以供选择。和raw_input我们收集原始字符串。

update:一个很好的解决方案是使用新的选择库:https://github.com/wong2/pick https://github.com/wong2/pick它提供了一个小的curses 界面来从给定的列表中选择我们的选择。获取它pip install pick。 (更新:多选:是)

update 2:还有另一个 python 库!https://curses-menu.readthedocs.org/en/latest/usage.html#getting-a-selection https://curses-menu.readthedocs.org/en/latest/usage.html#getting-a-selection(不可多选)

有一个专门为这个目的而建的小型且无人维护的图书馆,picker http://pp19dd.com/2013/11/simple-python-list-picker-using-curses/(多选:是)。

我想到的最简单的解决方案是使用 shell 工具:

  • dialog是像 Debian 这样的发行版用来在控制台中呈现的内容,
  • selecta https://github.com/garybernhardt/selecta是 shell 的模糊文本选择器,所以它完全符合我们的需求,除了它是一个 ruby​​ 工具,
  • 禅宗(和yad-对话 http://sourceforge.net/projects/yad-dialog/)使得构建简单的窗口变得非常容易(我们退出终端)。我可以用这个显示一个列表:

    zenity --list --text="a title" --column="first column" "first choice" "second choice"
    

    我们还可以选择多项选择。

  • 如果我们退出控制台,我们可以使用更完整的 GUI 工具,例如 gooey(它将带有命令行参数的 python 脚本转换为 GUI)甚至 Flexxx和别的 https://github.com/vinta/awesome-python#gui,但那是另一项工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:如何使用列表作为用户输入的选择源? 的相关文章

随机推荐

  • jquery中文本区域自动调整大小

    我怎样才能做一个
  • C++20:非类型模板参数中的非捕获 lambda

    C 20 是否允许将非捕获 lambda 衰减为函数指针作为非类型模板参数直接传递 如果是这样 正确的语法是什么 我在不同版本的 clang 和 gcc 中尝试了以下代码 std c 2a include
  • Mercurial 和 SVN 并排在同一工作目录中?

    我们的环境目前使用SVN 我想更频繁地提交 但我不想破坏任何主要分支 就我个人而言 我比 SVN 更喜欢 Mercurial 如果我在 SVN 工作副本中初始化一个存储库 如果我只是定期提交到 Mercurial 存储库并将工作修订提交到
  • 如何正确设置Rocks DB上的TTL?

    我正在尝试将 Rocks DB 与 TTL 结合使用 我初始化rocks db的方式如下 options setCreateIfMissing true setWriteBufferSize 8 SizeUnit KB setMaxWrit
  • 测试 AngularJs 的 $http.defaults.headers.common 是否设置了特定标头

    所以我对 JavaScript 和 AngularJS 的世界还是个新手 因此我的代码还没有达到应有的水平 但它正在改进 尽管如此 我开始学习并实现一个带有 REST 后端的简单登录页面 提交登录表单后 将返回一个身份验证令牌并将其设置为默
  • iPhone 上的双精度与浮动

    我刚刚听说 iPhone 本身无法进行双倍操作 从而使它们比常规浮动慢得多 这是真的 证据 我对这个问题很感兴趣 因为我的程序需要高精度计算 而且我将不得不在速度上妥协 iPhone 可以在硬件中执行单精度和双精度算术 在 1176 原始
  • python 中的对数 y 轴 bin

    我正在尝试创建数据列的直方图并以对数方式绘制它 y axis 并且我不确定为什么以下代码不起作用 import numpy as np import matplotlib pyplot as plt data np loadtxt foo
  • 检测 iPhone 是否在运行时运行调试/分发构建

    是否可以在运行时检测正在运行的应用程序是否是通过调试或分发进行编译的 在项目信息中 对于调试配置 添加 DEBUG 预处理器宏 在 GCC 4 2 预处理部分 在代码中 如果您想要包含或不包含某些代码用于调试版本 则可以使用 ifdef 来
  • Visual Studio Code 不显示 Python 的输出

    我对 Python 非常陌生 刚刚开始了 Sendtex 的 Python 3 基础知识 课程 链接 https www youtube com channel UCfzlCWGWYyIQ0aLC5w48gBQ https www yout
  • 如何登录ec2机器?

    我获得了 EC2 机器的一些登录信息 基本上是 ec2 X X X compute X amazonaws com 加上用户名和密码 如何访问机器 我尝试过 ssh ssh email protected cdn cgi l email p
  • 如何通过Elasticsearch模糊匹配电子邮件或电话?

    我想通过 Elasticsearch 对电子邮件或电话进行模糊匹配 例如 匹配所有以以下结尾的电子邮件 gmail com or 匹配所有电话开头136 我知道我可以使用通配符 query wildcard email gmail com
  • AppStore 提交:错误 ITMS-9000:“无效的捆绑结构 - 不允许二进制文件‘MyApp.app/BuildAgent’

    我陷入了以下错误 我根本不明白 错误 ITMS 9000 无效的捆绑结构 不允许使用二进制文件 MyApp app BuildAgent 您的应用程序可能只包含一个可执行文件 当我使用 Xcode 从 Archive 导出到 IPA 时 我
  • 使用负索引对 std::vector 进行索引

    我试图索引一个vector使用负索引 这vector at 成员函数检查指定的索引是否在向量的范围内 如果没有发生 则返回一个out of range抛出异常 vector
  • Google Maps API 下拉列表,缩放至标记

    我正在使用 Google Maps API v3 我有一个带有一些标记的简单地图 我还有一个下拉列表 我需要最少的代码来完成这项工作 我想在下拉列表中选择一个标记 并将选定的标记平移到它 我已经尝试了一切并在网上查看 我发现事情很接近 但到
  • 使用 Java 在 Elasticsearch 中执行 Update By Query 时的 NPE

    我在 Spring Boot 应用程序中使用 Elasticsearch 2 4 我需要执行 update by query https www elastic co guide en elasticsearch reference 2 4
  • 如何处理来自单独线程的窗口消息?

    我希望启动一个单独的线程来处理窗口消息 通过阻塞 GetMessage 循环 但之后仍然在初始线程中创建窗口 在单独的线程中 一旦启动 我就会调用PeekMessage使用 PM NOREMOVE 确保消息队列存在 有必要吗 然后 Atta
  • <%=h ... %> 在 Rails 中意味着什么?

    I found here http api rubyonrails org classes ActionView Helpers RecordTagHelper html以下语法 什么是h means 它用于转义标签的输出以避免跨站点脚本
  • Apache Spark:Yarn 日志分析

    我有一个 Spark streaming 应用程序 我想使用 Elasticsearch Kibana 分析作业的日志 我的工作在纱线集群上运行 因此日志将按照我的设置写入 HDFSyarn log aggregation enable为真
  • iOS 14 无效的框架尺寸(负或非有限)

    我的应用程序使用 GeometryReader 和一些填充来设置 NavigationView 内的视图框架尺寸 从 iOS 14 开始 我收到以下错误消息 框架尺寸无效 负或非有限 这是一些要测试的示例代码 import SwiftUI
  • Python:如何使用列表作为用户输入的选择源?

    任何人都可以检查此代码并让我知道出了什么问题吗 input list One Two Three P1 input Select the input input list 0 input list 1 input list 2 print