我在我的主程序中尝试了这个
from tkinter import *
import tkinter.filedialog
import os
root = Tk()
def open():
PathPy = tkinter.filedialog.askopenfilename(title="Open a file",filetypes=[('PYTHON file','.py')])
os.system(PathPy)
B = Button(root, text="Open a file", command=open).pack()
root.mainloop()
就在我的第二个文件中:
from tkinter import *
root2 = Tk()
root2.mainloop()
当我选择python文件时,没有任何反应......你能告诉我如何解决这个问题吗?
答案 0 :(得分:1)
您的代码的两个附加内容可能会产生预期的结果。
os.system期望操作系统的“命令”:
在子shell中执行命令(字符串)。
喜欢python3 myscript.py
。
但是,由于您使用的是自定义python编程环境,请将EduPython的python.exe
的路径传递给os.system
:
from tkinter import *
import tkinter.filedialog
import os
import sys
root = Tk()
pyexec = sys.executable
def open():
PathPy = tkinter.filedialog.askopenfilename(title="Open a file",filetypes=[('PYTHON file','.py')])
os.system('%s %s' % (pyexec, PathPy))
B = Button(root, text="Open a file", command=open).pack()
root.mainloop()
其次,将最后一行 root2.mainloop()
添加到第二个脚本中,以显示第二个Tk窗口。
希望这会有所帮助。