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



複数 数値 (5)

ツールバーの再生ボタンの下向き矢印をクリック - >設定を実行 - >(ダブルクリック)Python Run - >引数の右側にあるタブ。

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

私はPythonとEclipseには新しく、Eclipseで実行中のスクリプト(Pydev)にコマンドライン引数を渡す方法を理解するのが難しい。

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

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

#argecho.py
import sys

for arg in sys.argv: 1
    print arg

私はPythonコンソールに入力する必要があります

[[email protected] py]$ python argecho.py             
argecho.py

または

[[email protected] py]$ python argecho.py abc def     
argecho.py
abc
def

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

ありがとう!


「Properties」 - >「Run / Debug Settings」を選択します。

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


あなたのプログラムが対話的に引数を要求するようにしたい場合、それらはコマンドライン引数として機能しなくなります。 しかし、あなたはこれを(デバッグのためだけに)行うことができます。これは、プログラムがコマンドライン引数として見る値を対話的に入力できるようにします。

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

#Rest of the program here

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


私がしているのは:

デバッグパースペクティブでプロジェクトを開きます。 コンソールでは、デバッガがブレークポイントでブレークするたびに、「コンソール」にpythonコマンドを入力してリターン(または入力)することができます。 「>>」記号はないので、発見するのは難しいです。

しかし、なぜ私は日食がPythonのシェルを持っていないのだろうか:(


*args**kwargsが非常に便利な場所は、サブクラス化です。

class Foo(object):
    def __init__(self, value1, value2):
        # do something with the values
        print value1, value2

class MyFoo(Foo):
    def __init__(self, *args, **kwargs):
        # do something else, don't care about the args
        print 'myfoo'
        super(MyFoo, self).__init__(*args, **kwargs)

このようにして、Fooについてあまり知っていることなく、Fooクラスの動作を拡張できます。 変更する可能性のあるAPIをプログラミングする場合は、これは非常に便利です。 MyFooはすべての引数をFooクラスに渡します。





python eclipse pydev