web-dev-qa-db-ja.com

コマンドライン引数をPython Eclipse(Pydev)内のスクリプトに渡す

私はPython&Eclipseを初めて使用し、Eclipse(Pydev)内で実行されているスクリプトにコマンドライン引数を渡す方法を理解するのにいくつかの困難を抱えています。

次のリンク は、コマンドライン引数をpythonスクリプトに渡す方法を説明しています。

コマンドライン引数をモジュールに渡すにはargecho.py(上のリンクからのコード)、

#argecho.py
import sys

for arg in sys.argv: 1
    print arg

python consoleと入力する必要があります

[you@localhost py]$ python argecho.py             
argecho.py

または

[you@localhost py]$ python argecho.py abc def     
argecho.py
abc
def

同じ引数をPython Eclipse(Pydev)内のスクリプト)にどのように渡しますか???

よろしくお願いします!

24
newprint

プログラムが引数をインタラクティブに要求するようにしたい場合、それらはcommandline引数ではなくなります。ただし、次のようにすることもできます(デバッグの場合のみ!)。これにより、プログラムがコマンドライン引数として表示する値を対話形式で入力できます。

import sys
sys.argv = raw_input('Enter command line arguments: ').split()

#Rest of the program here

Andrewのやり方はmuch優れていることに注意してください。また、python 3. *を使用している場合は、raw_inputではなくinputにする必要があります。

10
Blue Peppers

ツールバーの再生ボタンの下矢印をクリックします->実行構成->(ダブルクリック)Python実行->右側の引数タブ。

そこから、[プログラムの引数]テキストボックスに入力できます。

enter image description here

57
Andrew White

[プロパティ]->> [実行/デバッグ設定]を選択します。

右側のパネルで関連ファイルを選択し、「編集」ボタンをクリックします。選択したファイルのプロパティを開きます。 「引数」タブがあります。

2
BenH

数年後、Eclipseではなく、shまたはIPythonでのrun my.py M=11 N=None ...に対する他の回答のバリエーション:

import sys

# parameters --
M = 10
N = 20
...

# to change these params in sh or ipython, run this.py  M=11  N=None ...
for arg in sys.argv[1:]:
    exec( arg )
...
myfunc( M, N ... )

Gist.github.com/denis-bz の下にある One-line-arg-parse-for-flexible-testing-in-python を参照してください。

1
denis