2012-04-21 19 views
1

私はPythonで引数変数を使用しようとしていましたが、端末でプログラムを実行できません。TypeError:strでなくdictでなければならない

プログラム:

from sys import argv 

script,first,second,third = argv 

print "The script is called:", script 
print "Your first variable is:", first 
print "Your second variable is:", second 
print "Your third variable is:", third 

出力:

>>> execfile("lesson13.py","dog","cat") 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: must be dict, not str 
>>> 
+0

エラーはプログラムとは関係なく、単に 'execfile'を悪用します。 – delnan

答えて

4

execfile()は、コマンドの引数を取りません。代わりにsubprocessを使用してください。

+0

ここに同じ問題のSE質問があります:http://stackoverflow.com/questions/5788891/execfile-with-argument-in-python-shell – CppLearner

+0

>>> subprocess.call( 'lesson13.py'、 'kill 」、 『法案』、 『キム・』))最後 トレースバック(最新の呼び出し: ファイル 『』、ライン1、 NameErrorで:名 『サブプロセスは』私はまだそれを動作させることはできません – user1345589

+0

定義されていません。 : – user1345589

関連する問題