pythonw.exe沒有控制檯,所以我看不到打印輸出。但是我的程序在python.exe中是OKAY,在pythonw.exe中失敗了。我只想看看python解釋器的日誌和我的「print」語句打印的日誌,它可行嗎?我可以在pythonw中獲得「print」語句的輸出嗎?
3
A
回答
3
您可以全局重定向通過分配sys.stdout來標準輸出:
import sys
sys.stdout = open("mylog.txt", "w")
那麼你的程序的標準輸出,其中包括打印報表的休息,會去mylog.txt。
1
您可以將打印輸出重定向到任何流。例如
logfile = open("logfile.txt", "w")
print >>logfile, "This is a log test"
雖然大部分的時間會比較適合使用Python內置的日誌工具從logging
模塊。
-1
我發現一個太長的普通打印語句會使程序崩潰。你需要重定向輸出。 爲了驗證這一想法創建一個簡單的程序
import time
time.sleep(5)
保存它作爲test.pyw。當你運行這個程序時,它會顯示在任務管理器上。 現在通過添加打印語句來修改它。這個文本文件有超過100行。
import time
string = ''
filename = 'pathto/text.txt'
f = open(filename,'r')
for line in f:
string = string + ' ' + line
f.close()
print string
time.sleep(5)
該程序將崩潰。
+1
大聲笑,你有一個製表符在你的文件名? :D您的程序很可能會崩潰,否則。完成你所做的正確方法是使用'''.join'。 – Gandaro 2012-02-17 14:17:03
0
您可以將輸出重定向到實現.write方法的任何類。例如,我將sys.stdout和sys.stderr重定向到一個將結果寫入富文本框的類,其中正常輸出爲黑色,錯誤爲紅色。
logControl = None
def LogWrite(text, color):
logControl.SetDefaultStyle(wx.TextAttr(color, wx.NullColour))
logControl.WriteText(text)
class RedirectStdOut:
def write(self,string):
LogWrite(string, "BLACK")
class RedirectStdErr:
def write(self,string):
LogWrite(string, "RED")
....
sys.stdout = RedirectStdOut()
sys.stderr = RedirectStdErr()
在這種情況下,logControl僅僅是一個豐富的文本框,我可以假設存在一個參考。你可以寫入控制文件和文件,重定向到dbgview,或者做任何你想做的事情。
相關問題
- 1. 我們可以在C#中獲得一個canthrow語句嗎?
- 2. 我可以在switch case語句中使用用戶輸入語句嗎?
- 3. 我可以在輸入語句中使用變量嗎?
- 4. 如何在python中執行print語句的輸出?
- 5. 我可以在if語句中運行while語句嗎?
- 6. 我可以在printf語句中使用條件語句嗎?
- 7. 任何人都可以解釋以下語句的輸出嗎?
- 8. 我可以通過Xquery獲得所需的輸出嗎?
- 9. 我可以比/ dev/null獲得更快的輸出管道嗎?
- 10. SQL Server中的CASE語句以獲取我需要的輸出
- 11. 使用Delphi中的ADOConnection查看「print」語句的輸出
- 12. 我可以從CCNet API獲得MSBuild輸出嗎?
- 13. print語句
- 14. 我可以在Netbeans 7.3中獲得「更好」的詳細輸出嗎?
- 15. 我可以在While語句內使用If語句嗎?
- 16. 我可以在多文件上傳中獲得輸入值嗎?
- 17. 我可以在xcode UITableViewCell上獲得shell「echo」或python「print」嗎? (越獄開發)
- 18. T-SQL中的PRINT語句
- 19. 我可以把mod_rewrite語句放在我的apache.conf文件中嗎?
- 20. SQL - 我可以在GROUP BY子句中使用SELECT語句嗎?
- 21. 我可以在WHERE子句中使用CASE語句嗎?
- 22. 我可以收聽PRINT SCREEN事件嗎?
- 23. 我可以追加一個%字符到sql更新語句的輸出嗎?
- 24. 我可以從Ruby中的系統調用獲得連續輸出嗎?
- 25. 我們可以在switch語句中使用goto語句嗎?在PHP
- 26. if語句裏面的print語句?
- 27. 我可以在VSCode輸出窗口中從gulp獲取彩色輸出嗎?
- 28. XPages tracelog - 沒有記錄或顯示JavaScript print()語句的輸出
- 29. 以Linq語句輸出字典輸出
- 30. 在SELECT語句中可以使用DESC語句嗎?
它是如何失敗? – 2010-09-09 08:45:27