最近做一个的GUI,因为调用了os模块里的system方法,使用pyinstaller打包的时候选择不输出系统命令弹框,程序无法运行,要求要有系统命令框。在网上找到一个解决办法。使用subprocess.run()方法。

这里有一个简单的例子:

from time import sleep
from subprocess import run

for i in range(10):
	sleep(1)
	run("tree", shell=True)

# 因为没有弹框,这部分用来验证程序是否执行
f = open("a.txt", "w")
f.close()

如果执行文件所在的目录生成了“a.txt”文件,证明程序执行成功。