2011-01-19 40 views
1

我有正在運行的線程,始終輸出下面的Python程序:我該如何選擇性地抑制某些模式後面的某些錯誤消息?

(my_program.py:12313): GLib-GIO-CRITICAL **: g_output_stream_write: assertion `buffer != NULL' failed 

這連續打印,與我的計劃沒有明顯的不利影響。爲了調試目的,我想在不抑制其他錯誤消息的情況下抑制這一特定行。換句話說,運行:

my_computer:~$ python my_program.py 2>/dev/null 

當然有效,但它也抑制其他有用的錯誤消息。

理想情況下,當然,我會解決根本原因,並嘗試消除此錯誤消息,但在此期間,有沒有辦法選擇性地不顯示此錯誤消息?

+0

只需修復原因。比起黑客和黑魔法所需要的更容易和更清潔(編輯:實際上想到它,它可能是一個bash oneliner,但即使跳過「其間」部分也是最好的)。 – delnan 2011-01-19 19:02:24

回答

2

這工作:

python my_program.py 2>&1| grep -v "GLib-GIO-CRITICAL" 
+1

使用`python my_program.py 2>&1 | grep -v「GLib-GIO-CRITICAL」` – 2011-01-19 19:10:35

+0

這甚至更好。 – TryPyPy 2011-01-19 19:13:36

0

這看起來像GTK的警告,你使用它嗎?我不認爲你可以從Python中壓制它們。