1

optparse を使用しようとしていますが、問題が発生しています。

私のスクリプトの使用法は次のとおりです。script <filename>

次のようなオプション文字列を追加するつもりはありません。script -f <filename>またはscript --file <filename>

引数文字列を渡さないことを選択できる方法はありますか? または、ユーザーにこれを許可する方法はありますか:

script -f <filename> 
script --filename <filename>
script <filename>

上記のすべてが同じ結果になりますか?

を使用してこれを簡単に実行できることはわかっていますが、プロジェクトの後半でコマンドラインサポートを追加する必要があり、その時間を追加してサポートをすべてargv[1]追加したくない場合があります。optparseそれが私が使いたい理由ですoptparse

4

1 に答える 1

1
import optparse

parser = optparse.OptionParser()
parser.add_option("-f", "--filename", metavar="FILE", dest="input_file", action="append")
options, args = parser.parse_args()
if options.input_file:
    args.extend(options.input_file)

for arg in args:
    process_file(arg)

これは単に入力ファイルのリストとして使用されますが、引数argsとして渡されたファイル名が追加されるため、それらすべてを取得できます。-f--filenameargs

于 2010-06-01T08:05:35.323 に答える