App下載

python 怎么實現(xiàn)在運行的時候隱藏控制臺?

猿友 2021-07-29 09:45:29 瀏覽數(shù) (8444)
反饋

在學(xué)習(xí)python的時候控制臺是我們必不可少的工具,它是開發(fā)者和應(yīng)用的對話窗口。但用戶并不需要了解應(yīng)用的內(nèi)部情況,如果留下控制臺窗口是一件很不安全的事情,接下來這篇文章就教你python怎么打包文件以及python怎么隱藏控制臺吧!

安裝

虛擬環(huán)境安裝 pyinstaller

pip install pyinstaller 

打包exe命令:(具體的命令網(wǎng)上資料很多)

# 打包1個py文件,并隱藏執(zhí)行窗口
pyinstaller -F -w main.py 
# 打包1個py文件(-F),并隱藏執(zhí)行窗口(-w),替換exe的ico圖標(biāo)(-i img.ico)
pyinstaller -F -w -i img.ico  main.py

以上的這種打包方式會將各種依賴庫都以源文件方式保存到文件夾中,大部分時候我們還是希望只有一個exe文件

將文件夾中所有依賴庫都打包進exe內(nèi):

# 合并到一個exe內(nèi)(--onefile),替換exe圖標(biāo)(--icon=img.ico),py源文件(main.py),隱藏執(zhí)行(-w)
pyinstaller --onefile --icon=img.ico  main.py -w

注意:

當(dāng)把所有依賴庫都打包進一個exe以后,且以隱藏CMD窗口方式執(zhí)行時會出現(xiàn)錯誤,導(dǎo)致程序無法正常運行,所以需要用到

subprocess來執(zhí)行CMD命令。這種方式來執(zhí)行cmd命令就不會出現(xiàn)程序錯誤。
import subprocess 
cmd = '你的CMD命令'
res = subprocess.call(cmd, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
 

單純隱藏控制臺

將后綴.py改成.pyw

改完后,文件屬性里面可以看到:Python File (no console) (.pyw)

顯示no console,在運行的時候就不會彈出命令窗口了。

以上就是python打包exe文件和python隱藏控制臺的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持W3Cschool。


0 人點贊