2011-11-01 5 views
6
import sys 

    print sys.argv[1] 

ハイテク読みません Pythonは、sys.argvの

この

は非常に基本的に見えるかもしれませんが、私はPythonは、コマンドラインから何かを読み込むことができません。上記のコードと私はタイプのthats は次のとおりです。

myfile.py helloworld 

と私は戻って取得:

IndexError: list index out of range 

私のために一度動作するように見えますが、それ以上に動作し、私は」はありませんPythonをアンインストールして再インストールしようとしましたが、まだ動作しません。

私の質問は何ですか?または私はちょうどPythonを壊している?使用して任意のヘルプ

ため

ありがとう: のWindows 7 のPython 2.7.2

+0

が何をしたときにちょうど '印刷sys.argv'をたまたまへHKEY_CLASSES_ROOTの\アプリケーション\ python26.exeの\シェル\オープン\コマンドキーを設定しますか? 'python.exe myfile.py helloworld'を介してファイルを呼び出すと、うまく動作しますか? – poke

+0

ああ、あなたの応答のおかげで、それを稼働させることができました。 は非常にばかげたミスを犯しました。システム変数のPathにPythonを追加しませんでした。 – user1024028

+0

Windowsのスクリプトに引数を渡すのに問題がある人には、Pythonを呼び出す前にその引数を渡すことができません。(例えば、 'python foo.py a' py a'はしません)、最初の答えをスクロールします。 – eenblam

答えて

5

をあなたはあなたがあなたが考える方法あなたのPythonスクリプトを呼び出していますか?

#!/usr/bin/python 
import sys 

if len(sys.argv) < 2: 
    print "you did not give any arguments\n" 
else: 
    print sys.argv[1] 

リターン:

$ ./foo.py 
you did not give any arguments 

$ ./foo.py hello_world 
hello_world 
$ 
+0

ご回答いただきありがとうございます。 – user1024028

11
は、レジストリエディタ(regedit)を起動します

。このソリューションの "C:\Python26\python26.exe" "%1" %*

出典:http://eli.thegreenplace.net/2010/12/14/problem-passing-arguments-to-python-scripts-on-windows/

+2

うわー、このレジストリの省略ビットは、今日私たちは、Python 2.7 Anacondaと3.4のインストールを並行して調整しようとしていました。 3.4インストーラは '%*'引数を省略しましたが、 'HKEY_CLASSES_ROOT \ Applications \ pythonxx.exe \ shell \ open \ command'キーと' HKEY_CLASSES_ROOT \ py_auto_file \ shell \ open \ command 'の両方に設定する必要がありました'key – jxramos

+0

あなたの答えをありがとう –

関連する問題