0

私はこの質問に答えられているかどうかを確認するためにさまざまな投稿を行ってきました。しかし、自分を見つめている答えが理解できなかったか、頭に浮かんだ正確な質問がこれまでに聞かれたことはありません。

質問:「Flags.txt」などのファイルをコマンドライン引数として受け入れることを目的とした「Filter.py」というプログラムを作成しました。このファイルを使用して、多数の「フィルタリング」を実行します。例えば。配列Aがロードされます。サブセットA_1はいくつかの条件を満たすように作成され、A_2は別のセットを満たすように作成されます。これらの配列A_1、A_2を他のプログラムで使用できるようにしたい。だから、私は他のプログラムで言います

from Filter import *

上記は、コマンドライン引数が指定されていない場合でも「Filter.py」が機能するようにプログラムされている限り機能します。質問は-上記のメソッドを使用してインポートする場合、コマンドライン引数を渡すことはできますか?

4

2 に答える 2

1

いいえ。最善の方法は、すべてを実行するスクリプトの関数(それを呼び出しましょうmain)で機能をラップすることです。Filter.pyそして、以下を追加します。

# Filter.py
#...

if __name__ == '__main__':

    # ...

    main(some, args)

このように、コマンドラインから呼び出す:

python Filter.py

を実行しmainます。また、別のスクリプトにインポートする場合(mainは呼び出されません):

# your other program
import Filter

# ...

Filter.main(some, args)
于 2013-02-20T09:43:24.007 に答える
0

Filter.pyでプログラムをどのように設定しているかわかりません

しかし、アルゴリズムを関数でラップし、関数呼び出しで引数を渡すことはできますか?

例えば。

from Filter import filter
result = filter(argA, argB, argC)
于 2013-02-20T09:43:54.900 に答える