2012-03-13 28 views
0

我的代码是由eclipse打破,但工作正常,如果我从命令提示符启动它与python和没有选项。我需要在eclipse和pydev中启动python解释器时删除-u选项,我该怎么做?PyDev:如何删除命令行开关-u

回答

0

实际上,到目前为止,如果没有获取代码并自己更改代码(即硬编码),您无法做到这一点。但是,如果你不使用非缓冲输出(即:-u选项),PyDev控制台最终将不会显示I/O输出,因为它将被打印(因为它将被缓冲)。

那么,这是什么因为-u? (也许它会更好地解决这个问题,然后改变PyDev以在没有-u的情况下启动,因为如果你这样做,你可能会在没有输出的情况下结束运行)。

0

我不明白你为什么需要这样做,我同意法比奥Zadrozny,这听起来像是有一些更深层次的问题正在进行。毕竟,当您在命令行中使用交互式Python解释器运行时,它也以非缓冲模式运行。 Eclipse的行为更像标准解释器。

这就是说,你应该能够使sys.stdout的做缓冲如下:

sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 1) 

对于标准输入,只是改变了“W”到“R”。最后一个参数是bufsize,其中1指定行缓冲,任何大于1的数字指定该大小的缓冲区(以字节为单位)。

0

看来,开发商的Adroid都面临着同样的问题...

#!/bin/bash 

if [ "$1" = '-u' ] 
then 
shift 
fi 

exec python2.7 "[email protected]" 

呢,的确,剥离-u,但PyDev正不满意我的系统上这个安排。 我是新来的PyDev,所以也许这将帮助别人有更多的技能... 还有更多,以及对 Diego Torres Milano's blog

+0

不仅仅是Windows提示从博客上的链接到注意,Android的伙计们应用一个补丁来符合Python解释器(所以,他们只是删除-u并忽略它们的情况)。 – 2012-03-14 13:39:01