Pagina 1 di 1

Stupidaggine in python[RISOLTO]

Inviato: dom feb 26, 2017 16:59
da darkstaring
Buona domanica a tutti :)...
Sono nuovo al mondo python ma vorrei provare ad imparare questo linguaggio....
In pratica quel che voglio fare è semplice
devo prendere l'output di un comando di sistema e creare una lista....i comandi sono:
ifconfig -a | grep mtu | awk -F ':' '{ print $1 }' | tr "\n" ","
(il comando tr è discutibile, meglio fatto in sed ma non ci sono ancora riuscito)
Per ora ho scritto questo,

Codice: Seleziona tutto

#!/usr/bin/python
x=str(os.system(" ifconfig -a | grep mtu | awk  -F ':' '{ print $1 }' | tr \"\n\" \",\" "))
internet_device = [ x ]
i="0"
for device in internet_device :
                 radioname="radio"+str(i)
                 print "RadioName->",radioname," ", device
                 i=str(int(i)+1)
sys.exit(0)

E mi aspettavo qualcosa del tipo:
RadioName-> radio0 wlan0
RadioName-> radio1 eth0
ecc ecc...
Mentre invece ottengo uno zero al posto dei device....

Credo sia semplice, ma ancora troppo per mè :?
Voi come risolvereste?
Grazie

Re: Stupidaggine in python

Inviato: dom feb 26, 2017 21:52
da darkstaring
import netifaces
netifaces.interfaces()


Faccio la stessa cosa senza l'ausilio di os...

Codice: Seleziona tutto

import sys,netifaces
i="0"
for device in netifaces.interfaces() :
                 radioname="radio"+str(i)
                 print "RadioName->",radioname," ", device
                 #radioname =  QtGui.QRadioButton(str(device), cWidget)
                 #vBox.addWidget(radioname)
                 i=str(int(i)+1)
sys.exit(0)