Domanda libreria sys | ottenere info argv

Stato
Discussione chiusa ad ulteriori risposte.

simoste

Utente Bronze
3 Febbraio 2016
29
3
0
33
Ciao a tutti,
Ho un dubbio, usando la libreria sys, vi è un modo per ottenere il numero di arg (sys.argv()) passati dall'utente?
Grazie
 
Ciao a tutti,
Ho un dubbio, usando la libreria sys, vi è un modo per ottenere il numero di arg (sys.argv()) passati dall'utente?
Grazie
Beh, un modo semplice sarebbe sfruttando la funzione len(), quindi:
Python:
import sys

len(sys.argv) - 1

Ho aggiunto -1 perchè, come saprai, il primo elemento (elemento n. 0) è il nome stesso del file, mentre a partire dal secondo (elementi >= al n.1) sono gli argomenti passati dall'utente ;).
 
Beh, un modo semplice sarebbe sfruttando la funzione len(), quindi:
Python:
import sys

len(sys.argv) - 1

Ho aggiunto -1 perchè, come saprai, il primo elemento (elemento n. 0) è il nome stesso del file, mentre a partire dal secondo (elementi >= al n.1) sono gli argomenti passati dall'utente ;).
Grazie mille per la risposta, invece se volessi controllare se viene passato un certo argomento con il conseguente valore?
per esempio:
Codice:
python main.py -email [email protected]
Come faccio a controllare se mi viene passato il parametro e il suo valore?
 
Ciao,
per accedere a argv semplicemente lo importi dalla libreria sys e lo utilizzi come se fosse una semplicissima lista (in modo analogo a come si fa in C).
Ad esempio:

Python:
from sys import argv

if len(argv) > 2:
    print 'argv: ' + str(argv)
else:
    print 'Non hai inserito alcun paramentro da linea di comando.'

Per controllare se e' stato inserito il parametro basta cercare il -email e nel successivo controllare se vi e' un email valida.
Per gestire i parametri, l'help, ecc, ti consiglio la libreria argparse, dacci un occhiata che secondo me fa al caso tuo.

A presto
 
Stato
Discussione chiusa ad ulteriori risposte.