第一种方式:
@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 通过执行bat脚本运行 python文件, 直接照着格式书写就行了,没有什么特殊的要求。
第三种方式: 用python打成包文件运行即可
首先安装包: pip install pyinstaller 速度慢可以添加国内源
安装成功后, 在当前的文件夹路径下 运行命令 pyinstaller ***.py 文件
接着会自动打包成一个可执行的 exe文件 ,点击这个可执行文件即可
列出当前所有运行进程。
使用方法:在命令提示符中输入tasklist 然后回车,会看到类似下面的列表:
打开电脑上面的一个终端,如cmd(开始-运行-cmd),键入 netstat -ano 命令,这时候就可以查看所有的端口占用情况,如下图所示:
taskkill是Windows命令行里终止指定程序“进程”的命令。
/f 表示强制终止
/im 表示指定的进程名称,例如“explor.exe"
如果不使用名称,使用进程号,则用/PID,例如(假设已知道某进程的PID号是3352,PID号可以在windows任务管理器中查看):
taskkill /f /pid 3352
使用场景:
会在开发定时脚本中用到,用于关闭进程
pyinstaller打包文件成EXE指令简单,但是!!!会有很多坑
问题1
警告:未找到隐藏的导入“XXX”!
【解决】pip install XXX - >重新pyinstaller
问题2
【解决】pyinstaller --clean --win-private-assemblies -F XXXX.py
--clean清除pyinstaller的缓存并移除之前建立的临时文件,
--win-私人组件把跟这个程序捆绑的共享的组件都改为私有的
调试阶段不用-w,因为如果有错误就打印在终端了而不是闪退
问题3
回溯(最近一次调用最后一次):
文件“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]无法执行脚本qt_control_24
【解决】pyinstaller指令中加入: - hidden-import PyQt5.sip
【解决】在主程序中导入PyQt5.sip
问题4
程序中有Multiprocessing的引用
在打包成可执行程序后会创建进程失败。
【解决】
one-directory模式,只要再程序的最开始调用multiprocessing. freeze_support()就可以了
注意!!!!一定要写在
if __name__ == '__main__':
里,否则就会出现 can not get '模块' from 的错误
one-file模式,还需要使用下面修改后的Process和Pool。