我在 tkinter 中創(chuàng)建了一個窗口,但我不知道如何在 python 中運(yùn)行外部程序。我正在使用完整路徑并且沒有收到任何錯誤,文件只是沒有加載。我試過os.startfile(path)了,但沒有打開文件。這是我的代碼:from tkinter import *from tkinter import ttkimport osdef run_selected(): if ver.get() == "Test": os.startfile(path)master = Tk()ver = ttk.Combobox(master, state="readonly", values=["Test"])ver.pack()Button(master, text="Run", command=run_selected).pack()master.mainloop()如何解決此問題以便我可以打開文件?編輯:我(path)是"C:\Backup\Mindustry\Mindustry.exe"
1 回答

哆啦的時光機(jī)
TA貢獻(xiàn)1779條經(jīng)驗 獲得超6個贊
您可以使用許多不同的方式生成一個進(jìn)程。在這里和這里檢查
其中一種方法可能是
import subprocess
def run_selected():
if ver.get() == "Test":
subprocess.run([path], check=True)
# e.g. subprocess.run(["ls","-ltr"], check=True)
但是,由于您是從 Tkinter 生成它,因此您可以從不同的線程生成它(除非進(jìn)程在幾毫秒內(nèi)結(jié)束),否則,默認(rèn)的 Tkinter 線程將變得忙碌并且 UI 將顯示為凍結(jié)
添加回答
舉報
0/150
提交
取消