私はPythonを学び始めたばかりで、私が書いているプログラムには、特定のタスクで実行するためのパラメーターが必要です。例 (プログラム名は Samtho)
samtho -i Mozilla_Firefox
どうやってやるの?
私はPythonを学び始めたばかりで、私が書いているプログラムには、特定のタスクで実行するためのパラメーターが必要です。例 (プログラム名は Samtho)
samtho -i Mozilla_Firefox
どうやってやるの?
optparseのドキュメントを読んでください。これは非常に強力で、多くのパラメーターを使用してヘルプ テキストを作成できます。
モジュールoptparse
とgetopt
標準ライブラリを使用できます。前者はより柔軟であるため、推奨されます。
独自のパーサーを作成する場合は、 の内容を検査する必要がありますsys.argv
。sys.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'
sys.argv
入力引数を直接 (import sys
最初に)取得するために使用します。optparse
引数の解析に役立つさまざまなライブラリ (およびgetopt
組み込みモジュールが一般的) がたくさんありますが、必要な複雑さによっては、生のマッチングを行う方が簡単な場合があります。
標準ライブラリから冒険することを気にしないのであれば、argparseは一般的にパラメーターの解析に最適であると考えられています。
最も使いやすいライブラリはoptfuncだと思います。
import optfunc, sys
def samtho(i=''):
"Usage: %prog -i <option>"
print i
if __name__ == '__main__':
optfunc.run(samtho)