如果我在.pyw代码中使用os.system,exe文件是否无法打开命令提示符?

问题描述 投票:2回答:1

请在下面找到我编写的python代码:

from tkinter import *
import os

fenetre = Tk()

label = Label(fenetre, text="Power BI is gonna be open as soon as the program finds an optimal solution.")
label.pack()

fenetre.mainloop()

os.system('cmd /c "pbixrefresher C:\\Users\\LFM\\Desktop\\Optimization.pbix '
          '--refresh-timeout 300000 --no-publish --init-wait 6"')

我使用pyinstaller创建exe文件时使用了“ -w”。当我按要求双击创建的exe文件时,仅显示一个窗口,而不显示控制台。但是,Power BI无法打开。仅当我关闭窗口时,Power BI才会打开。并且,此时,命令提示符出现。

pyinstaller -F ^
-w ^
C:\Users\LFM\PycharmProjects\Tests\Tests.pyw

即使我使用os.system,有没有办法不打开命令提示符的方法?

python-3.x cmd exe pyinstaller os.system
1个回答
0
投票

我在这里找到了答案: https://stackoverflow.com/a/7006424/12260358。我用下面的代码代替了os.system(),它运行良好。

si = subprocess.STARTUPINFO()
si.dwFlags |= subprocess.STARTF_USESHOWWINDOW
subprocess.call('cmd /c "pbixrefresher C:\\Users\\LFM\\Desktop\\Optimization.pbix --refresh-timeout 300000 --no-publish --init-wait 6"',
startupinfo=si)
© www.soinside.com 2019 - 2024. All rights reserved.