Stupidaggine in python[RISOLTO]

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
darkstaring
Linux 2.6
Linux 2.6
Messaggi: 603
Iscritto il: mer ott 13, 2010 13:55
Nome Cognome: Francesco Achenza
Desktop: KDE
Distribuzione: Arch Linux
Contatta:

Stupidaggine in python[RISOLTO]

Messaggioda darkstaring » dom feb 26, 2017 16:59

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
Ultima modifica di darkstaring il dom feb 26, 2017 21:54, modificato 2 volte in totale.

Avatar utente
darkstaring
Linux 2.6
Linux 2.6
Messaggi: 603
Iscritto il: mer ott 13, 2010 13:55
Nome Cognome: Francesco Achenza
Desktop: KDE
Distribuzione: Arch Linux
Contatta:

Re: Stupidaggine in python

Messaggioda darkstaring » dom feb 26, 2017 21:52

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)