0

私はPythonを学び始めたばかりで、私が書いているプログラムには、特定のタスクで実行するためのパラメーターが必要です。例 (プログラム名は Samtho)

samtho -i Mozilla_Firefox

どうやってやるの?

4

5 に答える 5

9

optparseのドキュメントを読んでください。これは非常に強力で、多くのパラメーターを使用してヘルプ テキストを作成できます。

于 2009-11-14T18:58:27.803 に答える
6

モジュールoptparsegetopt標準ライブラリを使用できます。前者はより柔軟であるため、推奨されます。

独自のパーサーを作成する場合は、 の内容を検査する必要がありますsys.argvsys.argv[0]実行中のプログラムの名前が含まれます。sys.argv[1:]プログラムに渡されるすべての引数を含むリストです。

これは最小限の使用例ですoptparse(手動で設定してプログラムの実行を模倣しましたsys.argv):

>>> import sys
>>> sys.argv = 'samtho -i Mozilla_Firefox'.split()
>>>
>>> from optparse import OptionParser
>>> parser = OptionParser()
>>> parser.add_option("-i")
<Option at 0xb7881b4c: -i>
>>> options, args = parser.parse_args()
>>> options
<Values at 0xb788958c: {'i': 'Mozilla_Firefox'}>
>>> options.i
'Mozilla_Firefox'
于 2009-11-14T18:59:15.510 に答える
2

sys.argv入力引数を直接 (import sys最初に)取得するために使用します。optparse引数の解析に役立つさまざまなライブラリ (およびgetopt組み込みモジュールが一般的) がたくさんありますが、必要な複雑さによっては、生のマッチングを行う方が簡単な場合があります。

于 2009-11-14T18:59:29.800 に答える
1

標準ライブラリから冒険することを気にしないのであれば、argparseは一般的にパラメーターの解析に最適であると考えられています。

于 2009-11-14T19:12:20.630 に答える
0

最も使いやすいライブラリはoptfuncだと思います。

import optfunc, sys

def samtho(i=''):
    "Usage: %prog -i <option>"
    print i

if __name__ == '__main__':
    optfunc.run(samtho)
于 2009-11-14T20:25:11.983 に答える