0

我已经编写了一个 Python 程序并使用 py2exe 将其变成了一个 Windows 可执行程序。

当程序运行时,它会打开一个伪 cmd 窗口供用户交互。(仅使用打印和 raw_input)

通常,在 win cmd 提示符下,您可以右键单击任意位置并点击粘贴。

但是,在这个伪 cmd 窗口中你不能。您可以右键单击标题栏并转到编辑-> 粘贴,但这很痛苦,而且大多数用户都不知道。

我希望 ~ 能够添加此功能,和/或 ctrl-v 直接粘贴的能力。

有任何想法吗?

4

1 回答 1

0

使用 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 
于 2013-03-17T08:26:22.163 回答