第一種方式:
@echo off?
C:?
cd C:\Users\ldl\Desktop
start python test100.py
start python 1.py
start python 1.py 10
start python 1.py 100
exit
第二種方式:??
start cmd /K "C:&&cd C:\Users\ldl\Desktop&&python test10.py "
start cmd /K "C:&&cd C:\Users\ldl\Desktop&&python test100.py "
start cmd /K "C:&&cd C:\Users\ldl\Desktop&&python test1000.py "
start cmd /K "C:&&cd C:\Users\ldl\Desktop&&python test10000.py "
說明:?這兩種處理都是可以的萤悴,都是?python?通過執(zhí)行bat腳本運(yùn)行?python文件铐尚,?直接照著格式書寫就行了听诸,沒有什么特殊的要求。
第三種方式:?用python打成包文件運(yùn)行即可
首先安裝包: pip install pyinstaller? ? 速度慢可以添加國內(nèi)源
安裝成功后徽鼎, 在當(dāng)前的文件夾路徑下? 運(yùn)行命令? pyinstaller? ***.py 文件
接著會自動打包成一個可執(zhí)行的 exe文件 ,點(diǎn)擊這個可執(zhí)行文件即可
列出當(dāng)前所有運(yùn)行進(jìn)程往枷。
??????? 使用方法:在命令提示符中輸入tasklist 然后回車蝌矛,會看到類似下面的列表:
打開電腦上面的一個終端,如cmd(開始-運(yùn)行-cmd)荐吵,鍵入? netstat -ano 命令街佑,這時候就可以查看所有的端口占用情況,如下圖所示:
taskkill是Windows命令行里終止指定程序“進(jìn)程”的命令捍靠。
/f 表示強(qiáng)制終止
/im 表示指定的進(jìn)程名稱沐旨,例如“explor.exe"
如果不使用名稱,使用進(jìn)程號榨婆,則用/PID磁携,例如(假設(shè)已知道某進(jìn)程的PID號是3352,PID號可以在windows任務(wù)管理器中查看):
taskkill /f /pid 3352
使用場景:
會在開發(fā)定時腳本中用到良风,用于關(guān)閉進(jìn)程
pyinstaller打包文件成EXE指令簡單谊迄,但是!!!會有很多坑
問題1
警告:未找到隱藏的導(dǎo)入“XXX”!
【解決】pip install XXX - >重新pyinstaller
問題2
【解決】pyinstaller --clean --win-private-assemblies -F XXXX.py
--clean清除pyinstaller的緩存并移除之前建立的臨時文件烟央,
?--win-私人組件把跟這個程序捆綁的共享的組件都改為私有的
調(diào)試階段不用-w统诺,因?yàn)槿绻绣e誤就打印在終端了而不是閃退
問題3
回溯(最近一次調(diào)用最后一次):
? 文件“XXXXX.py”,第3行疑俭,在<module>
? 文件“d:\ python \ python36 \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”粮呢,第714頁行,load_module
? ? module = loader.load_module(fullname)
ModuleNotFoundError:沒有名為'PyQt5.sip'的模塊
[18720]無法執(zhí)行腳本qt_control_24
【解決】pyinstaller指令中加入: - hidden-import PyQt5.sip
【解決】在主程序中導(dǎo)入PyQt5.sip
問題4
程序中有Multiprocessing的引用
在打包成可執(zhí)行程序后會創(chuàng)建進(jìn)程失敗钞艇。
【解決】
one-directory模式啄寡,只要再程序的最開始調(diào)用multiprocessing. freeze_support()就可以了
注意!Aㄕ铡Mξ铩!一定要寫在
if __name__ == '__main__':
里飘弧,否則就會出現(xiàn) can not get '模塊' from 的錯誤
one-file模式识藤,還需要使用下面修改后的Process和Pool砚著。