首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Enthought用户输入

Enthought用户输入
EN

Stack Overflow用户
提问于 2013-05-25 01:23:15
回答 1查看 1.9K关注 0票数 2

我正在Mac OSX Lion上使用Enthought。我之所以使用它,是因为可以很容易地下载和安装模块和库(由于一些问题,通过终端下载pandas和numpy时遇到了很多问题)。因此,现在我正在为Canopy中的一个项目编写代码,这是可以的(尽管我还是更喜欢Wing )。我遇到的问题是,我需要要求用户输入。例如,当我这样做的时候:

代码语言:javascript
复制
 x = input('Enter your input here: ')

我得到一个EOF错误,如下:EOFError: EOF when reading a line

我环顾四周,相信这可能是Canopy不支持的东西。我想知道这是否真的是这样,以及是否有解决方案/解决方法来解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-25 05:36:34

我假设您是在Canopy编辑器中嵌入的IPython shell中输入此代码。这是IPython的Qt控制台中的上游错误/缺陷。因为远程shell实际上并没有连接到终端,所以需要替换input()raw_input()之类的函数,以便从GUI console小部件获得输入。IPython (以及树冠)确实会取代raw_input(),但不会取代input()。如果您将代码放入脚本并从命令行执行,则可以使用Canopy的Python解释器运行该代码,它也可以在IPython的终端实例中运行。它很可能被忽略了,因为使用input()通常被认为是一个坏主意。

请改用raw_input()并解析您得到的字符串。如果有必要,您可以使用eval(),但我建议您使用更具体的解析/转换函数。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16740468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档