控制台输入无法正确评估使用cx_freeze构建到exe中的python脚本

时间:2012-05-22 05:35:18

标签: python python-3.x cx-freeze

我有一个由3个文件和2个包组成的脚本。当我在IDLE或命令行中运行脚本时,它会完美地执行。我使用cx_freeze将程序转换为可执行文件,除了通过input()方法收到的文本评估错误之外,它仍然可以正常工作。这段代码反映了我自己:

x = str(input("Continue? (y/n): "))
if x.lower() == "y" or x.lower() == "yes":
    cont = True
else:
    print("thanks for playing.")
    cont = False
input("press enter key to exit...")

我将str()转换器添加到输入函数中以查看它是否有用,但事实并非如此。 无论我输入“是”还是“y”,条件仍然会评估为false,我不知道为什么。我还在条件的每个分支中添加了print语句,并且为x打印的值是正确的,但它仍然评估为false。

1 个答案:

答案 0 :(得分:0)

有时输入会在结尾处获得换行符。尝试剥离它:

x = input("Continue? ").strip()