在类python中使用子流程执行命令

科尔顿·T

嗨,我在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循环中打破,然后手动传递标题,但这也没有用。

我在该for循环中创建的所有其他文件均正常工作,并且仅使用这些文件单独运行了子流程代码(在仅包含该代码的.py文件中),然后该文件即可正常工作。我想知道是否有人知道在试图导致该问题的类中运行它是否是一个问题,或者我只是错过了什么。

科尔顿·T

好的,我不确定回答我自己的问题有多好,我保证在发布问题之前,我已经尝试过一段时间了。

但是我所做的只是在命令中将目录添加到文件中,这没关系,因为它们始终位于同一目录中。因此将其更改为:

sa_command = "C:\\X12\\x12a.exe C:\\X12\\%s" % (col)

该代码现在可以正常工作(我还意识到我以前错误地复制了我的代码,并且在字符串内使用了“ col”,但该字符串无效)。

编辑:我现在意识到,因为我正在运行的.py文件不在C:\ X12目录中,所以该命令正在.py文件的目录中而不是在带有可执行文件的目录中寻找适当的文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

子流程popen不执行命令

来自分类Dev

在结构执行命令中使用密码

来自分类Dev

在nwjs中使用shelljs执行命令?

来自分类Dev

在结构执行命令中使用密码

来自分类Dev

使用子流程执行ADB命令

来自分类Dev

使用python中的子进程在linux终端上执行命令

来自分类Dev

使用子进程来ssh和执行命令

来自分类Dev

在Java中使用ProcessBuilder执行命令时出现IllegalArgumentException

来自分类Dev

无法在php中使用exec()执行命令

来自分类Dev

在bash中使用带空格的参数执行命令

来自分类Dev

在bash shell脚本中使用反引号执行命令

来自分类Dev

无法在solaris中使用find语句执行命令

来自分类Dev

使用子流程的Python中的大型命令

来自分类Dev

使用ssh执行命令

来自分类Dev

使用Ansible执行命令

来自分类Dev

使用JSch执行命令

来自分类Dev

在Python的子流程模块中使用PATH

来自分类Dev

从脚本在子外壳中执行命令

来自分类Dev

Python带有参数的执行命令

来自分类Dev

python-执行命令并获取输出

来自分类Dev

如何通过python执行命令?

来自分类Dev

在python脚本中执行命令

来自分类Dev

Python脚本中的Sudo执行命令

来自分类Dev

MySQL 中的 Python 变量执行命令

来自分类Dev

Golang:使用参数执行命令

来自分类Dev

使用node.js执行命令

来自分类Dev

使用eval在变量中执行命令

来自分类Dev

如何使用php执行命令

来自分类Dev

无法使用sudo执行命令