Prendre argument de la chaîne de Python en ligne de commande
J'ai besoin de prendre un argument facultatif lors de l'exécution de mon script Python:
python3 myprogram.py afile.json
ou
python3 myprogram.py
C'est ce que j'ai essayé:
filename = 0
parser = argparse.ArgumentParser(description='Create Configuration')
parser.add_argument('filename', type=str,
help='optional filename')
if filename is not 0:
json_data = open(filename).read()
else:
json_data = open('defaultFile.json').read()
J'espérais avoir le nom de fichier stocké dans ma variable appelée "nom de fichier" s'il a été fourni. Évidemment, cela ne fonctionne pas. Des conseils?
OriginalL'auteur Kreuzade | 2012-10-03
Vous devez vous connecter pour publier un commentaire.
Veuillez lire attentivement le tutoriel. http://docs.python.org/howto/argparse.html
je crois que vous devez réellement analyser les arguments:
alors le nom de fichier seront disponibles
args.filename
OriginalL'auteur dm03514
Vérifier sys.argv. Il donne une liste avec le nom du script et de toute arguments de ligne de commande.
Exemple de script:
L'appeler:
OriginalL'auteur Junuxx
Si vous êtes à la recherche pour le premier paramètre
sys.argv[1]
fait le tour. Plus d'infos ici.OriginalL'auteur Damian Schenkelman