問題タブ [optparse]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1824 参照

python - コマンドライン オプションが optparse または argparse で複数回指定されたかどうかを検出する

Python optparse では、通常、ユーザーがオプションを複数回指定することを許可し、最後のオプション以外のすべてのオプションを黙って無視します。たとえば、オプションのアクション--foostoreで、オプションのアクション--flagstore_conststore_trueまたはstore_falseの場合、次のコマンドは同等になります。

(更新: argparse はデフォルトで同じことを行います。)

現在、私には多くのオプションがあり、それらのいずれかを複数回指定しても意味がありません。ユーザーが同じオプションを複数回指定した場合、エラーの可能性について警告したいと思います。

複数回指定されたオプションを検出する最もエレガントな方法は何ですか? 同じオプションに、短い形式、長い形式、省略された長い形式を含めることができることに注意してください (したがって、-f--foobar--foobおよび--fooはすべて同じオプションです)。同じデスティネーションを持つ複数のオプションが同時に指定された場合を検出できればさらに良いでしょう。ユーザーが両方--quietを指定した場合に警告を発し、--verbose両方のオプションが同じデスティネーションに値を格納し、効果的に実行できるようにします。互いにオーバーライドします。

更新: よりユーザーフレンドリーにするために、警告はコマンドラインで使用される正確なオプション名を参照する必要があります。appendの代わりにアクションを使用することstoreは可能ですが、競合を検出した場合、どのオプションがそれを引き起こしたかを判断できません ( -qand--verboseまたは--quiet --quiet?)。

残念ながら、私は optparse に固執しており、Python 2.6 をサポートする必要があるため、argparse を使用できません。

PSargparseでのみ機能するソリューションを知っている場合は、それも投稿してください。外部依存関係の数を最小限に抑えようとしていますが、Python 2.6 で argparse を使用することはまだオプションです。

0 投票する
2 に答える
391 参照

python - argparseとoptparseの両方をサポートする方法は?

私は、Python 2.7以降を使用するかなり最近のLinuxディストリビューションだけでなく、Python2.7にまだ切り替えていないCentOSおよびScientificLinuxボックスでも実行される小さなアプリケーションを持っています。optparseはPython2.7で非推奨になりました。率直に言って、私はサポートしたくありません。optparseそのため、私はこのアプリケーションをargparse念頭に置いて開発しました。ただし、argparseこれらの古いディストリビューションには存在しません。さらに、システム管理者はのバックポートをインストールすることをかなり疑っていargparseます。

さて、それは私がすべきですか?固執しoptparseますか?両方のライブラリの周りにまだ別のラッパーを書きますか?argparseシステム管理者とユーザー(ほとんどの場合、アプリケーションを起動できるだけです)にバックポートをインストールするように説得しますか?

0 投票する
3 に答える
78432 参照

python - Python argparseは認識されない引数を無視します

古いバージョンの Optparse は、認識されない引数をすべて無視して続行します。ほとんどの場合、これは理想的ではなく、argparse で変更されました。しかし、認識されていない引数を無視して、指定した引数を解析したい状況がいくつかあります。

例えば:

とにかくこれを上書きすることはありますか?

0 投票する
1 に答える
1026 参照

ruby - 両方のパラメーター オプションをコマンドとして受け入れるように optparse を構成するにはどうすればよいですか?

コマンド ライン アプリのオプションを解析するためにRuby のoptparseライブラリを使用していますが、コマンドを受け入れる方法がわかりません。

次のようになります。

initこの場合のコマンドになります。ユーザーが何も提供していない場合に実行する必要があるデフォルトのコマンドがあるため、常に必要というわけではありません。

これが私が今持っているコードです:

0 投票する
2 に答える
3336 参照

python - オプションが指定されたときの optionparser のデフォルトの選択を設定します

オプションの --list-something オプションを解析する python オプション パーサーがあります。また、 --list-something オプションにオプションの引数 (オプション) を持たせたい

--list-something が指定された場合だけでなく、引数を使用してdefault="simple"もここでは機能しません。それ以外の場合は常に simple がデフォルトになります。

上記のコードはこれを生成しています:

しかし、私はこれが起こることを望みます:

Python 2.4 から 3.0 まで (3.0 は含まれていません) ですぐに使えるものが欲しいです。

argparse は python 2.7 でのみ導入されたので、これは私が使用できるものではありません。

0 投票する
2 に答える
202 参照

python - optparse 構造をフラット化するにはどうすればよいですか?

Django の管理コマンドを作成しようとしていますが、問題が発生しました。option_list変数は、フラット化されたオプションのリストである必要があるようです。

簡潔にするために編集されたコードは次のとおりです。実行されます。

すべてのオプション変数を取得し、フラット化してから、オプションを保持しながら をparser削除し、それらを新しい変数に入れる必要があります。OptionGroup

Django には、このようなオプションを指定するクラスが必要です。これにより、反復処理が可能になります。

これを達成する方法に非常に迷っています。

0 投票する
2 に答える
12208 参照

python - 引用符付きのPythonargparse引数

argparseに引用符を食べないように指示する方法はありますか?

たとえば、引用符で引数を指定すると、argparseは引用符の内側にあるものだけを引数として取ります。引用符もキャプチャしたい(コマンドラインでエスケープする必要はありません)。

を生成します

が欲しいです

0 投票する
2 に答える
391 参照

ruby - OptParse の 2 つの引数を持つオプション

私は次のようなことをしようとしています:

問題は、 を返しますがarg1、 をarg2返しますnil。これを機能させる方法は?

0 投票する
5 に答える
8973 参照

r - Rのコマンドラインを介して複数の引数を渡す

コマンドラインを介して複数のファイルパス引数をRscriptに渡そうとしています。これは、引数パーサーを使用して処理できます。最終的にはこのようなものが欲しい

コマンドラインを通過し、解析時にRの配列として結果を取得します

optparseやgetoptを含むいくつかのパーサーを試しましたが、どちらもこの機能をサポートしていないようです。argparseは知っていますが、現在Rバージョン2.15.2では使用できません。

何か案は?

ありがとう