我已经编写了一个 Python 程序并使用 py2exe 将其变成了一个 Windows 可执行程序。
当程序运行时,它会打开一个伪 cmd 窗口供用户交互。(仅使用打印和 raw_input)
通常,在 win cmd 提示符下,您可以右键单击任意位置并点击粘贴。
但是,在这个伪 cmd 窗口中你不能。您可以右键单击标题栏并转到编辑-> 粘贴,但这很痛苦,而且大多数用户都不知道。
我希望 ~ 能够添加此功能,和/或 ctrl-v 直接粘贴的能力。
有任何想法吗?
使用 msvcrt 模块(仅限 Windows),您可以按字符获取用户输入字符(不带“输入”,与 python 不同raw_input
)
import msvcrt
def inputemulator():
buf = []
while True:
ch = msvcrt.getch()
if ch=="\r": #newline
yield ''.join(buf)
buf = []
elif ch=="\x03": #ctrl-c
raise KeyboardInterrupt
elif ch=="\x16": #ctrl-v, do paste, ...
pass
else:
buf.append(ch)
for line in inputemulator():
print line