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文件中),並且它可以正常工作。我想知道是否有人知道是否是在導致此問題的類中運行它的問題,或者如果我只是缺少一些東西。