我正在使用python2.7 raw_input来从stdin读取.
我想让用户更改给定的默认字符串.
码:
i = raw_input("Please enter name:")
Run Code Online (Sandbox Code Playgroud)
安慰:
Please enter name: Jack
Run Code Online (Sandbox Code Playgroud)
应该向用户显示Jack但可以将其更改(退格)为其他内容.
该Please enter name:参数将是提示,raw_input并且该部分不应该由用户改变.
我在Ubuntu 11.10(Linux)上使用Python 3.2.我的新代码看起来像这样:
text = input("TEXT=")
提示后是否可以获得一些预定义的字符串,所以如果需要我可以调整它?它应该是这样的:
python3 file
TEXT=thepredefinedtextishere
Run Code Online (Sandbox Code Playgroud)
现在我按Backspace3次
TEXT=thepredefinedtextish
Run Code Online (Sandbox Code Playgroud)
现在我按Enter,变量text应该是thepredefinedtextish
我需要在用python编写的程序中导入readline功能.我目前正在使用2.7版本,我见过的第三方软件包只能使用2.6版本.有没有人知道使用Python 2.7的Windows的第三方readline包?
我正在创建一个Python脚本,要求从命令行输入.用户可以编辑文件的一部分.我可以要求提供新信息并在文件中覆盖它,没问题.但我宁愿将文件的编辑部分放在命令行中,因此不必完全输入.这可能吗?
文件:
1|This file
2|is not empty
Run Code Online (Sandbox Code Playgroud)
例:
>>>edit line 2
Fetching line 2
Edit the line then hit enter
>>>is not empty #This is written here by the script, not by the user
Run Code Online (Sandbox Code Playgroud)
然后可以改为
>>>is not full either
Edited file
Run Code Online (Sandbox Code Playgroud)
该文件已更改为:
1|This file
2|is not full either
Run Code Online (Sandbox Code Playgroud)
我希望我很清楚我想要完成什么.
据说这个问题在一定程度上回答了我的问题.当我运行Linux时,它会这样做readline.但是,我不是.我正在使用Windows而我没有使用readline.我想只使用标准库.
该问题还提供了Windows的答案.但是,我得到一个 ImportError有win32console,这可能是因为提到的问题不是Python3.4,但我是.另外,我想知道这是否可以使用标准库,而不是外部库.
我想在Windows中将字符串打印到命令行/终端,然后编辑/更改字符串并将其读回.谁知道怎么做?谢谢
print "Hell"
Hello! <---Edit it on the screen
s = raw_input()
print s
Hello!
Run Code Online (Sandbox Code Playgroud) 下午好,
问题
对于 Windows 版本的 Python,是否有一个特定的位置存储条目,或者它只是一组本地存储变量?
上下文
我很好奇 Python.exe 存储从命令行输入的条目的位置,而不是Tkinter GUI。我对此特别感兴趣,因为我注意到如果您输入raw_input(). 关于raw_input()和input()接收某种可编辑的默认参数已经有很多讨论。
显然,这对于 Linux / GNU 来说是非常可行的,其模块允许您利用 Bash 的格式。Windows 用户在这方面就不幸了。
这些模块的注释:
readline基于 GNU,无法在 Windows 中正常工作。
pyreadline对命令行解释器没有好处。
curses是基于 GNU 的,在 Windows 中根本不起作用。
跟进
我得出的结论是,如果为用户提供了一组预定义的条目,您可以限制输入到命令空间的内容。
PS - 我知道创建一个 PySide、Tkinter 或基于“其他”的 GUI 来解决我的问题要容易得多。
詹姆斯爵士
我希望能够从用户(通过raw_input()或模块)获得输入,并且能够自动输入可以添加,删除或修改的文本.我在javascript中知道当你使用提示时,你可以这样做
var = prompt("Enter your name: ","put name here")
Run Code Online (Sandbox Code Playgroud)
它将显示为:
Enter your name:
put name here
Run Code Online (Sandbox Code Playgroud)
这里'put name here'是在文本框中,并可以修改.我希望在shell环境(我使用unix)而不是窗口中实现它.
有什么办法吗?
哦,告诉我是否需要澄清我希望的更多内容.
我不认为你们明白我想做什么.
我基本上想要在输入中包含提示,但让用户能够退出提示/编辑它,如果他们想要的话.
该脚本可能用于简单的基于shell的单行文本编辑器和制表符完成类型的东西.
raw_input (prompt_string)可以提示输入.如何提供
默认值?以及如何使默认值用户
可编辑?
python ×8
input ×2
python-3.x ×2
raw-input ×2
windows ×2
python-2.7 ×1
python-2.x ×1
readline ×1
user-input ×1