2016-03-18 13 views
3
from sys import argv 

script, first, second, third = argv 
print("The script is called: ", script) 
print("The first variable is: ", first) 
print("The second variable is: ", second) 
print("The third variable is: ", third) 

エラーはscript, first, second, third = argvです。なぜ私はエラーが発生しているのか、どのように修正するのかを理解したいと思います。ありがとうございました!このようなシェルからValueError:アンパックする値が不十分(予想4、取得1)

+2

第三は、あなただけのために、引数なしでスクリプトを実行しましたあなたのコードは 'python script.py arg1 arg2 arg3'のように少なくとも3つの引数を渡すべきです – dnit13

+0

何がエラーになっていますか? – Brandon

+0

私はValueErrorを取得しています:解凍するのに十分な値ではありません(予想4、取得1)。それはcmdを使用するのではなく、pycharmで実行しているからですか? – sed174

答えて

2

argv変数は、コマンドライン引数が含まれています。あなたのコードでは、4つの引数を期待していましたが、1つしかありません(最初の引数は常にスクリプト名)。引数はpycharmに設定できます。 Run - >Edit Configurationsにアクセスしてください。次に、新しいPython設定を作成します。そしてそこにScript parametersフィールドを指定することができます。あるいは、dnit13のようにコマンドラインからスクリプトを実行することもできます。

1

実行して:

python script.py arg1 arg2 arg3 
+0

ありがとう、それはpycharmとシェルで動作するようになった。 – sed174

+0

これは、実行時にコマンドに十分な引数を指定しないと発生します。 –

-2

はこれを試してみてください、私はそれを試してみましたが、それは良い

from sys import argv 

script, first, second, third = argv,"Anything Here 1","Anything Here 2","Anything Here 3" 

print("The script is called: ", script) 
print("The first variable is: ", first) 
print("The second variable is: ", second) 
print("The third variable is: ", third) 
0

を働いているあなたは、このようにそれを実行することができます:python script.pyは、第1、第2、

関連する問題