Profilo di noproblem

Nome noproblem
Indirizzo email n/a
Messaggi2
  • Re: subrocess in tkinter
    Forum >> Programmazione Python >> GUI
    ci sono riuscito con il modulo os:
    indirizzo l'output del processo in un file esterno e poi lo apro, assicurandomi di avere il permesso di lettura, con la solita funzione built-in open
    import os
    def lsblk():
        os.system('lsblk >outfile')
        records=open('outfile', 'r').readlines()



    --- Ultima modifica di noproblem in data 2018-05-29 02:07:00 ---
  • subrocess in tkinter
    Forum >> Programmazione Python >> GUI
    ciao a tutti sono un utente arch linux.

    ho installato python 2.7 e 3.6.

    da mesi studio python, a livello base me la cavo.

    da giorni studio come costruire le interfacce grafiche per i miei programmi.

    riesco a visualizzare, attraverso la funzione di built-in "open", un file di testo oppure un file tipo /etc/fstab, indirizzando il suo output in un frame, dotato di listbox, creato con tkinter.

    ora vorrei poter indirizzare allo stesso output gui, un file di tipo shared object (.so per capirci) tipo /usr/bin/lsblk oppure /usr/bin/sensors.

    ci ho provato conoscendo, in teoria..., i moduli subprocess ed os, ma in pratica riesco solo ad instradare l'output nella shell di bash.

    vi posto la porzione di codice incriminata:

    from tkinter import *
    import subprocess
    def lsblk():
        records=subprocess.Popen('/usr/bin/lsblk').readlines()
    vi posto l'errore nel debug:

    Exception in Tkinter callback
    
    Traceback (most recent call last):
    
      File "/usr/lib/python3.6/tkinter/__init__.py", line 1702, in __call
    __
    
        return self.func(*args)
    
      File "os.py", line 20, in lsblk
    
        records  =subprocess.Popen('/usr/bin/lsblk').readlines()
    
    AttributeError: 'Popen' object has no attribute 'readlines'
    
    idee? grazie mille