2011-04-20 79 views
0

我有一個啓動帶參數的python腳本的應用程序。 當腳本運行時,我在cmd上打印一些信息。 有趣的是,我無法從cmd上的打印功能中看到任何東西。嵌入式Python中的Python打印不會向cmd顯示任何內容

如果我將sys.stdout重定向到一個文件,我得到我想要打印的是奇怪的。

我在使用python 2.6.4。

任何人都遇到過類似的事情?

+0

請提供你的代碼 – 2011-04-20 10:27:40

+0

也許這是顯而易見的,但是,確實在前臺你的腳本工作,並TTY atached?你沖洗流? – tmg 2011-04-20 10:30:38

回答

0

您是否在Windows上使用cmd.exe?如果是這樣,那麼試圖使用python打印它的問題仍然存在或仍然存在。我相信這個問題是一個UTF-8編碼問題。我聽說以下批處理文件將解決此問題(從未測試過)。

set PYTHONIOENCODING=UTF-8 
cmd /u /k chcp 65001 
set PYTHONIOENCODING= 
exit 

也是其值得一試,你的輸出實際上是被刷新,嘗試添加以下內容:

import sys 
sys.stdout.flush() 
+0

您好我已經嘗試過使用sys.stdout.flush()但似乎不工作(也許流被重定向到某處,但這裏有很多代碼,所以我必須看起來很深)。該批處理文件似乎也沒有工作。我堅持將流重定向到日誌文件。 – 2011-04-22 09:30:48

+0

這聽起來像你正在使用某種第三方框架。您是否嘗試編寫單獨的測試文件並運行獨立於任何第三方代碼的文件? – toc777 2011-04-26 09:24:12