在Python程式裡徹底去掉控制台視窗

2021-06-08 02:48:42 字數 817 閱讀 7867

摘自

python程式預設情況下執行會出現乙個控制台視窗,在windows環境下顯得很另類,我做的幾個程式都一直有這個小尾巴,很討厭.

我分析了一下有三種情況會產生控制台視窗

1.程式以py為副檔名

2.有print進行標準控制台i/o

3.通過os.system呼叫了dos命令

以上情況分別可以解決如下:

1.將程式改名為pyw,打包的時候在py2exe0.5.0版本以後統一用scripts命令,不在使用consoles和windows命令

2.進行i/o重定向,程式如下:

debug=0

class redirect:

def __init__(self, stdout):

self.stdout = stdout

def write(self, s):

self.stdout.write(string.lower(s))

if debug: 

old_stdout = sys.stdout

else:

sys.stdout = redirect(open(".\\r.txt","w"))

sys.stderr = redirect(open(".\\re.txt","w"))

定義乙個debug如果=1則使用標準控制台i/o,則會出現控制台視窗,程式寫完後改為0則將輸出裝置和錯誤輸出到兩個文字檔案中.

4.將os.system呼叫改為os.popen,例如:os.popen(′dir′).read()

經過以上步驟後,可以徹底去掉各種控制台視窗,程式更象windows標準的應用程式一樣

去掉FishEye裡在review時的紅色提醒資訊

在fisheye review時的紅色提醒資訊顯示出來,特別佔空間,公司在集體review的時候需要將字型放大,但是放大之後,紅色提醒資訊就佔了好幾行,整個 就沒有幾行了,所以得想辦法去棹。如何去掉呢 1.用f12 檢視所要去掉的元素,然後檢視此元素的css style所在的檔案 2.找到此檔案 我...

python裡的類 徹底搞懂Python中的類

python類的定義 python 中定義乙個類使用 class 關鍵字實現,其基本語法格式如下 class 類名 多個 0 類屬性.多個 0 類方法.注意,無論是類屬性還是類方法,對於類來說,它們都不是必需的,可以有也可以沒有。另外,python 類中屬性和方法所在的位置是任 意的,即它們之間並沒...

在Python裡畫曲線

在python裡畫曲線,常常用到wx.dc 裝置上下文 和wx.pen畫筆,有可能需要下面的資源 wx.buffereddc 用於快取一套繪畫命令,直到命令完整並準備在螢幕上繪畫。這防止了顯示中不必要的閃爍。wx.bufferedpaintdc 和wx.buffereddc一樣,但是只能用在乙個wx...