向控制台输入多行 | curses
我开始用Python语言写控制台程序,感觉非常棒。不过,我尝试用curses
创建一个输入框,但卡在了怎么把输入行放上去,以及怎么在控制台的输入位置显示用户输入的内容。你能帮我解决这个问题吗?我忘了问一下,用curses创建下面这样的输入框是否可行?如果不行,那我应该用什么呢?
我只想了解方法或算法,不需要完整的代码。
sketch of console
|------------------------------------------------------|
| |
| |
| |
| |
| username ===> | // user can write name
| password ===> | // user can write password
| procedure ===> | // user can write proc name
| |
| |
| |
| |
| |
|------------------------------------------------------|
我在Linux平台上开发(Ubuntu 12.04 lts)
1 个回答
1
不知道怎么回事,我之前的回答被删掉了...
在Python中,如果你想获取用户输入,可以使用内置的 input()
函数,把结果赋值给一个变量:
user_input = input("Type something: ")
print("You typed: " + user_input)
在Python 2中,还有一个 raw_input()
函数,它比 input()
更常用。
如果你想获取密码,但不想让它在屏幕上显示,可以使用 getpass
模块:
import getpass
user_password = getpass.getpass("Enter password: ")
我对 curses
不是很熟悉,但看起来你可以先移动光标,然后再调用 input()
或 getpass.getpass()
。我简单看了一下 文档,似乎有选项可以随意开启或关闭屏幕回显,所以这些可能是更好的选择。记得好好阅读手册哦 :)