0
您好我在Tkinter的我的工作,并建立了一个询问要打开的文件,然后打开该文件来运行它的代码框架,使用子进程执行命令,在一类蟒蛇
import subprocess
import pandas as pd
import Tkinter as tk
class MonthlyMenu(tk.Frame):
def __init__(self,parent,controller):
tk.Frame.__init__(self,parent)
self.controller = controller
self.browsefile = tk.StringVar()
self.fileentry = tk.Entry(self, textvariable = self.browsefile,).grid(row=1,column=1,sticky=tk.W+tk.E)
self.submitFile = tk.Button(self,text="Ok",command=self.openFile).grid(row=1,column=2,sticky = tk.W+tk.E)
def openFile(self):
self.browsefile.get()
filename = self.browsefile.get()
df = pd.read_excel(filename, sheename="Sheet1",parse_col=0)
titles = list(df.columns)
for col in titles:
sa_command = "C:\\X12\\x12a.exe %s" % (col)
process = subprocess.Popen(sa_command,stdout=subprocess.PIPE)
process.wait()
但该代码运行带有子进程的可执行文件的最后部分未运行。循环中还有其他代码运行并生成正确的文件来运行该可执行文件,但我不认为有必要显示所有内容。我试图从for循环中打破子进程代码并手动传递标题,但那也没有奏效。
我在那个for循环中创建的所有其他文件都正常工作,并且我已经使用这些文件自行运行了子进程代码(在只有该代码的.py文件中),并且它可以正常工作。我想知道是否有人知道是否是在导致此问题的类中运行它的问题,或者如果我只是缺少一些东西。