我编写了一个Python程序并使用py2exe将其变成了一个Windows可执行程序。
当程序运行时,它会打开一个伪cmd窗口供用户进行交互。 (只使用print& raw_input)
通常,在win cmd提示符下,您可以右键单击任意位置并点击粘贴。
但是,在这个伪cmd窗口中你不能。您可以右键单击标题栏并转到编辑 - >粘贴,但这很痛苦,大多数用户无论如何都不知道。
我想〜能够添加此功能,和/或能够直接粘贴ctrl-v。
任何想法?
答案 0 :(得分:0)
使用msvcrt模块(仅限Windows)您可以通过char获取用户输入char(不使用'enter',与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