In genere, il primo argomento per un eseguibile della riga di comando è il nome dello script e il resto sono gli argomenti previsti.
Qui, argv
è un elenco che dovrebbe contenere due valori: il nome dello script e un argomento. Usando la notazione disimballaggio di Python, è possibile scrivere
script = argv[0]
filename = argv[1]
come
script, filename = argv
mentre anche gettando errori se ci sono un numero inaspettato di argomenti (come uno o tre). Questa può essere una buona idea, a seconda del codice, perché garantisce anche che non ci siano argomenti inattesi.
Tuttavia, il seguente codice non si tradurrà in realtà filename
contenente il nome del file:
filename = argv
Questo perché filename
è ora la lista degli argomenti. Per illustrare:
script, filename = argv
print("Script:", script) # Prints script name
print("Filename:", filename) # Prints the first argument
filename = argv
print("Filname:", filename) # Prints something like ["my-script.py", "my-file.txt"]
fonte
2012-12-02 04:21:34
In realtà, non capisco la prima riga 'da sys'. Qualcuno potrebbe spiegarmelo? Sono nuovo di Python. –
In realtà l'esecuzione del codice senza 'script' genera un errore ** TypeError: coercizione a Unicode: bisogno di stringhe o buffer, lista trovata ** –