2012-03-13 46 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