Я попробовал изменить call() на run() или Popen() и обнаружил, что функция Popen() — единственная, которая работает; это позволяет sys.exit() фактически закрыть его. call() и run() открывают второй файл, но не закрывают первый файл. В конце концов, похоже, он зависает.
Вот мой пример кода:
Код: Выделить всё
import tkinter as tk
import subprocess
import sys
def start_newFile():
subprocess.call((sys.executable, 'testing2.py'))
sys.exit()
root = tk.Tk()
root.title("First Script")
# Button to start a new file
start_button = tk.Button(root, text="Start New File", command=start_newFile)
start_button.pack()
root.mainloop()
Подробнее здесь: https://stackoverflow.com/questions/783 ... ocess-call
Мобильная версия