如何让 python 程序直接写入命令行?

如何让 python 程序直接写入命令行?

这是我的代码,我希望它能够在按下“发送”按钮后从窗口写入命令行。如果我想在终端中看到我的“ifconfig”,命令就会写入窗口并显示在命令行中。我想要的只是窗口在发送后写入命令行。我不知道我是否应该输入 \n 它会写一个新行,或者 pygtk 中是否已经内置了此功能。

#!/usr/bin/env python

import pygtk
pygtk.require('2.0')
import gtk
class Base:
    def send(self, widget):
        self.button.THIS_IS_WHERE_WRITE_IN_COMMANDLINE

    def writecommand(self, widget):
    self.textbox.get_text()

    def __init__(self):
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window = set_position(gtk.WIN_POS_CENTER)
        self.window = set_size_request(600, 600)
        self.window.set_title("WINDOW")

        self.button = gtk.Button("SEND")
        self.button.connect("clicked", self.send)
        self.textbox = gtk.Entry()
        self.textbox.connect("changed", self.writecommand)

        self.box1 = gtk.VBox()
        self.box1.pack_start(self.button)
        self.box1.pack_start(self.textbox)

        self.window.add(self.box1)
        self.window.show_all()
base = Base()
gtk.main()

答案1

您可能正在寻找包system()中的方法os。已重写了代码片段,也进行了一些更正:

#!/usr/bin/env python

import pygtk
import os
pygtk.require('2.0')
import gtk
class Base:
    def send(self, widget):
        os.system('ifconfig') #this executes commands on the terminal

    def writecommand(self, widget):
        self.textbox.get_text()

    def __init__(self):
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.set_position(gtk.WIN_POS_CENTER)
        self.window.set_size_request(600, 600)
        self.window.set_title("WINDOW")

        self.button = gtk.Button("SEND")
        self.button.connect("clicked", self.send)
        self.textbox = gtk.Entry()
        self.textbox.connect("changed", self.writecommand)

        self.box1 = gtk.VBox()
        self.box1.pack_start(self.button)
        self.box1.pack_start(self.textbox)

        self.window.add(self.box1)
        self.window.show_all()
base = Base()
gtk.main()

要从包中找出更多方法os,请在 Python 解释器中输入以下内容:

import os
dir(os)

这将列出所有方法。要了解这些方法的作用,请键入

help(os.method_name)

例如

help(os.system)

相关内容