Généralement, le premier argument d'un exécutable en ligne de commande est le nom du script, et le reste sont les arguments attendus.
Ici, argv
est une liste qui est censée contenir deux valeurs : le nom du script et un argument. En utilisant la notation de déballage de Python, vous pouvez écrire
script = argv[0]
filename = argv[1]
comme
script, filename = argv
tout en lançant également des erreurs s'il y a un nombre inattendu d'arguments (comme un ou trois). Cela peut être une bonne idée, en fonction de votre code, car cela garantit également qu'il n'y a pas d'arguments inattendus.
Cependant, le code suivant ne donnera pas lieu à filename
contenant réellement le nom du fichier :
filename = argv
Cela s'explique par le fait que filename
est maintenant la liste des arguments. Pour illustrer :
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"]