Python:通过允许用户编辑默认值来获取用户输入
我有一个脚本,可以从Web服务器中提取文本。我想让用户(我)有机会编辑该文本,以便他们可以选择保留哪个部分。理想情况下,应该是这样的:Python:通过允许用户编辑默认值来获取用户输入,python,macos,command-line,user-input,defaults,Python,Macos,Command Line,User Input,Defaults,我有一个脚本,可以从Web服务器中提取文本。我想让用户(我)有机会编辑该文本,以便他们可以选择保留哪个部分。理想情况下,应该是这样的: editedText= raw_input(defaultText) 因此,将打印defaultText,用户编辑它并按enter键,然后将他们编辑的文本指定给editedText 有办法做到这一点吗? 谢谢 是的,有办法。使用 请注意,这不是一个非常可移植的解决方案,我只在Linux上测试了它:)这个问题的重复:看起来很棒;我一到家就去测试一下。不过,我很好
editedText= raw_input(defaultText)
因此,将打印defaultText
,用户编辑它并按enter键,然后将他们编辑的文本指定给editedText
有办法做到这一点吗?谢谢 是的,有办法。使用
请注意,这不是一个非常可移植的解决方案,我只在Linux上测试了它:)这个问题的重复:看起来很棒;我一到家就去测试一下。不过,我很好奇,是否有办法通过标准库(或者至少通过更跨平台的包)实现这一点。谢谢@马可:真的吗?文档的第一行链接到:
Platforms:Unix
@Luke嘿,没错。我想这不是因为我上面引用的那句话。。。那么,它是仅与Unix兼容(如doc所说)还是与Win兼容?请注意,它位于。谢谢有一个包pyreadline
在Windows上提供与readline等效的行为。它与IPython一起安装。如果没有它,AFAIK readline将无法在Windows上工作。@Marco@Luke Python 2.7在Windows中没有readline模块。你用的是什么版本?确定你没有安装或类似的东西?
import readline
defaultText = 'I am the default value'
readline.set_startup_hook(lambda: readline.insert_text(defaultText))
res = raw_input('Edit this:')
print res