繁体   English   中英

当 os.system(command) 正在运行时显示 tkinter 窗口

[英]while os.system(command) is running display tkinter window

我验证是否有新的更新可用,如果是真的,我执行 Windows 命令

query =  "COPY /Y myfile mydirectory"

我想,当它复制文件时,一个 tkinter 窗口会在复制后出现并消失。 另外,我想关闭程序,删除它,然后运行新版本。

我试过这个:

    if version < float(new_version):
        query = "COPY /Y myfile mydirectory"
        root = tk.Tk()
        root.geometry('300x120')
        root.title('Mise à jour en cours')
        pb = ttk.Progressbar(
            root,
            orient='horizontal',
            mode='indeterminate',
            length=280
        )
        pb.grid(column=0, row=0, columnspan=2, padx=10, pady=40)
        while os.system(query):
            pb.start()
            root.mainloop()
        root.quit()
        query= file_path + "\\" + file
        os.startfile(query)
        exit()

while expr一次又一次地运行expr (然后是缩进的块),直到它返回一个“假”值。 您显然正在寻找subprocess.Popen ,它可以让您与 Python 代码并行运行一个进程; os.system将在(隐式)子进程运行时阻塞,然后才将控制权传递回您的 Python 代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM