我希望有办法打开一个'。' Spyder中的文件,并在Tkinter窗口的相关IPython控制台中运行它。 我已经能够使用线程和os.system运行脚本,但我真的想在IPython中从Spyder运行
这是我写的代码,run1有效,但是没有打开spyder来运行它。 我想知道是否存在像run2这样的东西。 (我知道run_in_spyder不是一个函数)。也许Spyder有一些我不知道的CMD命令。
to_run只是一个示例脚本。
这是我的代码的主干。
import Tkinter as tk
import ttk
import tkFileDialog
from PIL import ImageTk, Image
from collections import OrderedDict
import os, sys
from shutil import copy
from threading import Thread
from to_run import make_df
root_dir = os.getcwd()+os.sep
class LipPy_UI:
def __init__(self, master):
self.master = master
self.master.geometry('450x300+200+200')
self.frame = ttk.Frame(self.master)
self.style = ttk.Style()
self.style.theme_use('vista')
self.title = master.title('Title')
self.labelText = tk.StringVar()
self.labelText.set('Welcome. \n From here you can do all kinds of stuff and things!')
self.introText = tk.Label(self.master, textvariable=self.labelText, height =4)
self.introText.pack()
self.button1 = ttk.Button(self.frame, text = 'Run', width = 25, command = self.run)
self.button1.pack(padx=15,pady=10)
self.menubar = tk.Menu(self.master)
self.filemenu = tk.Menu(self.menubar, tearoff = 0)
self.filemenu.add_command(label = 'Quit', command = self.close_window)
self.menubar.add_cascade(label = 'File',menu = self.filemenu)
self.master.config(menu=self.menubar)
self.frame.pack()
def run1(self):
thread1 = Thread(target = make_df)
thread1.start()
def run2(self):
file_to_run = tkFileDialog.askopenfilename()
desired_working_dir = 'D:\My_Scripts'
run_in_spyder(runfile(file_to_run, wdir=desired_working_dir))
def close_window(self):
self.master.destroy()
if '__main__' == __name__:
root = tk.Tk()
LipPy_UI(root)
root.mainloop()