Python curses不支持重定向

时间:2013-05-24 17:17:26

标签: python pydev curses

我试图在Win7中的Eclipse中使用Pyrses中的Curses。

我安装了Python 3.2(64位)和curses-2.2.win-amd64-py3.2。当我将以下测试代码输入PyDev时:

import curses  

myscreen = curses.initscr()
myscreen.border(0)
myscreen.addstr(12, 25, "Python curses in action!")    
myscreen.refresh()
myscreen.getch()     
curses.endwin()

它没有显示任何语法错误,所以我认为curses已正确安装。

但是,当我将其作为Python Run运行时,输出显示:不支持重定向。我不知道这个问题来自哪里。我google了很多但找不到相关信息。

4 个答案:

答案 0 :(得分:8)

您不能指望将public static bool Test(string url) { HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "HEAD"; HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Boolean isHttpOk = resp.StatusCode == HttpStatusCode.OK; resp.Close(); return isHttpOk; } 与非终端一起使用。

可能你得到这个,因为你是在IDE内运行脚本,比如PyCharm或其他任何东西。

所有IDE都提供不是终端的控制台,因此这就是问题所在。

答案 1 :(得分:7)

最近的PyCharm版本(我目前正在运行2017.2,不确定何时添加了此选项,或者它是否一直存在),在输出控制台中选择" Emulate终端"。 Curses使用此选项进行检查。

enter image description here

答案 2 :(得分:0)

您不能使用任何IDE通过curses包运行python文件。我曾经在pycharm中运行,自然无法运行。

更改为要运行的命令行:

要进行测试,请按照我的以下步骤

  1. 在桌面上打开记事本并复制粘贴代码,并将其另存为filename.py
  2. 在命令cd Desktop下打开命令行将目录更改为桌面使用,然后按Enter类型python example.py并按Enter,您的程序肯定会运行

答案 3 :(得分:0)

我的解决方法是创建一个调用curses脚本的运行配置。很少的开销值得不必切换到终端并在会话中手动运行脚本数百次。我使用Intellij,但我想PyCharm中的过程应该类似。

所需的结果是使用按钮运行脚本的便利性:

Intellij Run Scripts

首先创建一个调用输入脚本的脚本,例如:

ptyhon name-of-script.py

然后,为每个脚本创建配置:

  1. 转到“编辑配置”。
  2. 单击加号按钮并添加Shell脚本。
  3. 输入Shell脚本的路径。

Intellij Shell Script Configuration

这是目录的图片,其中包含一些示例脚本。

Directory tree of ncurses scripts

我使用此过程查看进度。我的curses脚本非常适中,所以幸运的是我可以不用调试器就可以生活。