0
votes

ligne de commande arg non importait un script

Herro, programmeur noob ici faisant face à un si dilemme, essayant d'exécuter un script Python simple à partir du terminal, il va exactement comme

FileName = test.py xxx

(fin du script)

dans la borne xxx

lorsque je frappe entrer dans oile, je continue à obtenir "ValueError: pas assez de valeurs pour déballer)

Cela me rend compte des bananes absolues, toute aide est appréciée, merci!


2 commentaires

Rollback à votre question initiale sans modifier car je pourrais mal comprendre votre question. Lorsque vous avez dit du terminal, il va exactement comme , cela signifie qu'il fonctionne bien? Lorsque vous avez dit lorsque je frappe Entrée dans Idle , vous voulez dire exécuter dans Python Idle n'est pas correct?


Le terminal ne passe pas les arguments à mon script étant couru dans Shell, jusqu'à présent, j'ai lu si j'écris 'python3.7 test.py 1 2 3' dans le terminal, il devrait passer test.py (argv [0]), 1 (argv [1]), ainsi de suite, mais ce n'est tout simplement pas: /


3 Réponses :


1
votes

Eh bien, il fonctionne à Python 2-3.7 mais je devais faire un changement.

changer de
Imprimer ("Le script est appelé:", test.py)
à
Imprimer ("Le script est appelé:", script)

J'imagine que c'était probablement une faute de frappe.


1 commentaires

c'est la chose, je l'ai écrit comme "script" au lieu de "test.py", cela ne fonctionne toujours pas



1
votes

C'est parce que les arguments et la liste de déballage ne correspondent pas Essayez ceci xxx

ou utilisez-le directement comme celui-ci xxx


0 commentaires

0
votes

Ceci fonctionne:

from sys import argv
script, food, echo, tree=argv
print("the script is called:", script)
print("the first variable is called:", food)
print("the second variable is called:", echo)
print("blah blah third is:", tree)

$ python3 ~/tmp/e test.py 1 2
the script is called: /home/bhepple/tmp/e
the first variable is called: test.py
the second variable is called: 1
blah blah third is: 2


0 commentaires