como eu faço um programa python escrever diretamente na linha de comando?

1

Este é o código que eu tenho, eu quero que eu possa escrever na linha de comando da janela depois que eu pressionar o botão "ENVIAR". Se eu quiser ver o meu "ifconfig" no terminal, o comando é escrito na janela e é exibido na linha de comando. Tudo que eu quero é que a janela seja escrita na linha de comando depois de ser enviada. Eu não sei se eu deveria digitar \ n e ele irá escrever uma nova linha ou se já existe uma função para isso embutida no 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()
    
por user3368897 29.03.2014 / 18:59

1 resposta

2

Provavelmente você está procurando o método system() em os package. Reescreveu o trecho, fez algumas correções também:

#!/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()

Para descobrir mais métodos do pacote os , no interpretador python, digite o seguinte:

import os
dir(os)

, que listará todos os métodos. Para obter o que eles fazem, digite

help(os.method_name)

por exemplo

help(os.system)
    
por jobin 29.03.2014 / 19:08