Привет Я работаю в 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 и вручную передать заголовки, но это тоже не сработало.
Все остальные файлы, которые я создаю в этом цикле, работают правильно, и я сам запускал только код подпроцесса (в .py-файле только с этим кодом) с этими файлами, и он работает правильно. Мне интересно, знает ли кто-нибудь, если это проблема с попыткой запустить его в классе, который вызывает эту проблему, или если я просто что-то пропустил.