1

我正在尝试用 tkinter 制作一个小型 GUI 程序。我需要使用 Python 的

subprocess.call()

当我尝试在类方法中这样做时,出现以下错误:

    self.return_code = self.subprocess.call("echo Hello World", shell=True)
AttributeError: 'App' object has no attribute 'subprocess'

这是我的程序的一部分:

from tkinter import *
from subprocess import call

class App:
    def __init__(self, mainframe):
        self.mainframe = ttk.Frame(root, padding="10 10 12 12", relief=GROOVE) 
        self.mainframe.grid(column=0, row=1, sticky=(N, W, E, S))

        self.proceedButton = ttk.Button(self.mainframe, text="Proceed", command=self.proceed)
        self.proceedButton.grid(column=0, row=9, sticky=(W))

    def proceed(self):
        self.proceedButton.config(state=DISABLED)
        self.return_code = self.subprocess.call("echo Hello World", shell=True)

继续函数中的最后一行会引发错误。

我正在学习 Python。任何指导将不胜感激。

4

1 回答 1

3

尝试subprocess.call代替self.subprocess.call

import subprocess
self.return_code = subprocess.call("echo Hello World", shell=True)

self是 的一个实例Appsubprocess是一个模块。要了解self.subprocess错误的原因,请阅读 Python 类教程中的“随机备注”。然后阅读模块,以及如何调用模块的函数

于 2013-03-23T21:35:30.393 回答