【问题标题】:pydev interactive console and raw_inputpydev 交互式控制台和 raw_input
【发布时间】:2012-06-23 16:42:38
【问题描述】:

我在 Eclipse 中使用 PyDev 2.5。 当我使用 raw_input 命令并在控制台中输入一些文本时,这会被解释为导致 NameError 的控制台命令。

例如:

我跑 name = raw_input('name:')

我回复: 姓名:马丁

结果我得到:

Traceback(最近一次调用最后一次): 文件“C:\Program Files\eclipse\plugins\org.python.pydev.debug_2.5.0.2012040618\pysrc\pydevd_comm.py”,第 755 行,在 doIt 结果 = pydevd_vars.evaluateExpression(self.thread_id, self.frame_id, self.expression, self.doExec) 文件“C:\Program Files\eclipse\plugins\org.python.pydev.debug_2.5.0.2012040618\pysrc\pydevd_vars.py”,第 384 行,在评估表达式中 结果=评估(编译,更新全局,frame.f_locals) 文件“”,第 1 行,在 NameError: name 'martin' 未定义

脚本似乎继续按预期将名称命名为“martin”,但控制台中充斥着此错误消息。 有没有办法摆脱控制台中的 NameError 消息?

我发现的最相似的帖子是: Greeting program 但我已经在使用 raw_input。

我也试过 raw_input().replace('\r', '') 和 eval(raw_input().replace('\r', '')) 如建议的那样 http://pydev.org/faq.html#PyDevFAQ-hyrawinput%28%29%2Finput%28%29doesnotworkcorrectlyinPyDev%3F 但我仍然有这种奇怪的行为。

谢谢 马丁

【问题讨论】:

    标签: pydev raw-input


    【解决方案1】:

    从堆栈跟踪来看,当 PyDev 试图评估您在调试模式下的某些表达式时(可能从您的表达式视图或悬停某个变量时),似乎发生了错误

    这也意味着您可能在调试模式下运行程序,而不是在发布模式下(因此,如果您真的想在调试模式下运行它,请从表达式视图中删除该表达式,否则,请定期运行程序而不是在调试模式下)。

    【讨论】:

    • 您好法比奥,感谢您的回答。我已经验证,如果变量选项卡打开,行为只会在调试模式下发生。如果我关闭变量选项卡并跳过 raw_input 语句,那么它运行良好。奇怪,但暂时可以。
    猜你喜欢
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    • 2012-11-17
    • 1970-01-01
    • 2010-09-21
    • 2012-06-20
    相关资源
    最近更新 更多