【问题标题】:Python code runs but doesn't ask for user input, in Sublime Text [duplicate]Python代码在Sublime Text中运行但不要求用户输入[重复]
【发布时间】:2016-04-10 01:22:47
【问题描述】:

这是我程序的第一行:

def main():
    country = input('\nPlease enter the country>   ')

我选择了 python Build,当我点击 Ctrl-B 时,它编译得很好,并告诉我花了多长时间。为什么它不打印该行并要求我输入?

【问题讨论】:

    标签: python sublimetext2 sublimetext3


    【解决方案1】:

    您必须调用 main 函数/您要查找的符号是

    if __name__ == '__main__':
        country = input('\nPlease enter the country>   ')
    

    【讨论】:

      【解决方案2】:

      我假设您没有在代码中的任何位置调用函数main。您可以通过在代码末尾添加if __name__ == '__main__': main() 来解决此问题。

      【讨论】:

      • 这很尴尬......所以现在它在运行后显示“EOFError: EOF when reading a line”。我应该制作一个输入文件吗?我以为我可以在提示后输入文字。
      • 当您的程序询问时,sublime 是否让您有机会输入?还是您的程序只是运行然后崩溃?
      • 这就是它的输出(所以我猜它崩溃是因为没有输入?):请输入国家/地区> Traceback(最近一次通话最后一次):文件“/Users/xxxx/Desktop/Github /Country_Capital.py",第 14 行,在 country = input('\n请输入国家/地区>') EOFError: EOF when reading a line [Finished in 1.3s with exit code 1]
      • 我猜 sublime 会在您输入任何导致回溯的内容之前杀死您的程序。我建议使用 python Country_Capital.py 手动运行脚本
      • 只是做了更多的谷歌搜索,显然“你不能与在 Sublime 中运行的程序交互,不管是什么语言。”哎呀。感谢您指出丢失的电话!
      【解决方案3】:

      你应该使用 sublime-repl。 要安装它,您需要可用的包控制here。 然后打开 sublime text.type ctrl-shift-p ,选择 sublime-repl-python 这将以崇高的文本运行解释器。 导入您定义模块的文件(例如.test.py)。 然后调用 test.main()

      【讨论】:

        猜你喜欢
        • 2014-08-05
        • 1970-01-01
        • 1970-01-01
        • 2013-02-14
        • 1970-01-01
        • 1970-01-01
        • 2014-03-01
        • 2012-01-23
        相关资源
        最近更新 更多