問題タブ [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.
python - (OptionParser を使用して) 一緒に使用できないオプションをどのように処理しますか?
私の Python スクリプト (todo リスト用) は、次のようにコマンド ラインから開始されます。
一部のオプションは一緒に使用できません。たとえば、
リストの 3 番目の位置と末尾の両方を指定します。同じく
簡潔または有益であることについて私のプログラムを混乱させるでしょう。かなり強力なオプション制御をしたいので、このようなケースは山ほどありますし、今後も新しいケースが必ず出てくるでしょう。ユーザーがオプションの不適切な組み合わせを通過した場合、できれば optparse が提供する使用方法のヘルプと共に、有益なメッセージを提供したいと考えています。現在、私はこれを if-else ステートメントで処理していますが、これは本当に醜くて貧弱だと思います。私の夢は、コードに次のようなものを含めることです。
OptionParser は、オプションを解析するときにこれを使用します。
これは私の知る限り存在しないので、SO コミュニティに尋ねます。これをどのように処理しますか?
ruby - rubyのOptionParserを使用してサブコマンドを解析する
rubyのOptionParserを使用して、フォームのサブコマンドを解析できるようにしたいと思います
お気に入り:
別のオプションパーサーライブラリ(Trollopなど)に切り替えることができることは知っていますが、ライブラリをよりよく学習したいので、OptionParser内からこれを行う方法を学ぶことに興味があります。
任意のヒント?
python - 名前'OptionGroup'が定義されていません
このエラーは、ドキュメントにある次の例によって厳密に行われます。そして、あなたはそれについての説明をどこにも見つけることができません、それがその長く長いドキュメントページ、グーグルまたはstackoverflowであろうと。さらに、読んでoptparse.py
いるとOptionGroupが存在することが示されているため、混乱が増します。
誰かが私のエラーを見つけるのに1分もかからないでしょう。:)
はい、それは私が答えを知っていたことを意味します、しかしこれは私がそれをここで「文書化」したかったことを発見するのにとても時間がかかったので。
python - optparse: オプション文字列がありません
optparse を使用しようとしていますが、問題が発生しています。
私のスクリプトの使用法は次のとおりです。script <filename>
次のようなオプション文字列を追加するつもりはありません。script -f <filename>
またはscript --file <filename>
引数文字列を渡さないことを選択できる方法はありますか? または、ユーザーにこれを許可する方法はありますか:
上記のすべてが同じ結果になりますか?
を使用してこれを簡単に実行できることはわかっていますが、プロジェクトの後半でコマンドラインサポートを追加する必要があり、その時間を追加してサポートをすべてargv[1]
追加したくない場合があります。optparse
それが私が使いたい理由ですoptparse
。
python - PythonOptParserで任意の数の引数を解析する
PythonのOptParserで任意の数の引数を使用してオプションを定義するにはどうすればよいですか?
私は次のようなものが欲しいです:
OptParserのnargs=オプションは、定義された数に制限します。どうすればこのようなことができますか?
--my-optionの後にあるものを単純に取得して、リストに追加しますか?たとえば、ケース1の場合は["X、Y"]、ケース2の場合は["X、Y"、 "Z、W"]である必要があります。
OptParserでこれを行う方法は何ですか?
ありがとう。
python - なぜ optparse ではなく argparse を使うのですか?
Python 2.7 のドキュメントには、さらに別のコマンドライン解析モジュールが含まれていることに気付きました。getopt
とに加えて、optparse
がありますargparse
。
さらに別のコマンドライン解析モジュールが作成されたのはなぜですか? の代わりに使用する必要があるのはなぜoptparse
ですか? 知っておくべき新機能はありますか?
python - optparse記述のASCIIアート
optparseモジュールを使用してシェルスクリプトを作成しているので、説明の代わりに素敵なアスキーアートの絵を印刷したいと思いました。
このコードは次のようになります。
このようにレンダリングします:
スラッシュ、改行、エスパスのさまざまな組み合わせを試しましたが、成功しませんでした。
友達のピトニスタ、トトロを正しく表示するのを手伝ってくれませんか?
ruby - OptionParser は不明なオプションをスキップして、後で Ruby プログラムで処理できますか?
1 つの Ruby プログラムでOptionParser を複数回起動し、それぞれ異なるオプション セットを使用する方法はありますか?
例えば:
ここで、myscript.rb は subsys1 と subsys2 を使用し、それらのオプション処理ロジックをそれらに委譲します。おそらく、'a' が最初に処理され、続いて別の OptionParser オブジェクトで 'b' が処理されるシーケンスになります。そのコンテキストにのみ関連するオプションを選択するたびに。最終フェーズでは、各パーツが処理された後に不明な点が何も残っていないことを確認できます。
使用例は次のとおりです。
さまざまなコンポーネントが異なる引数を持つ疎結合のフロントエンド プログラムでは、引数/オプションのセットを各部分に委譲するためだけに、「メイン」にすべてを知ってほしくありません。
RSpec のような大規模なシステムをアプリケーションに組み込み、ラッパーがそれらを認識せずに、オプションを介してコマンドラインを渡すだけです。
--
または--vmargs
一部のJavaアプリのように、区切り文字オプションでも問題ありません。
Unix の世界 (startx/X、git plumbing、および磁器) には、1 つのレイヤーがいくつかのオプションを処理し、残りを下のレイヤーに伝達する、同様のものの実世界の例がたくさんあります。
そのままでは、これは機能しないようです。各OptionParse.parse!
呼び出しは徹底的な処理を行い、不明な点はすべて失敗します。不明なオプションはスキップしてよろしいかと思います。
ヒント、おそらく別のアプローチを歓迎します。
ruby - OptionParser を使用してディレクトリまたはファイルを処理する方法
私はこれを頻繁にやっていることに気づきます:
orの代わりにDir
orを指定できればもっといいのですが。これを行うパターンまたはRuby風の方法はありますか?Pathname
String
python - 引数の Python optparse とスペース
optparse を使用する場合、オプションの後に文字列全体を取得したいのですが、最初のスペースまでの一部しか取得できません。
例えば:
「実行可能ファイル」に表示されるのは「python」だけです。
optparse を使用してそのような行を解析することは可能ですか、それとも argparse を使用する必要がありますか?
€: 既に "s で囲みました。しかし、コードをさらに掘り下げた後、サブプロセス呼び出しが引数を処理できないことがわかりました。
コマンドラインの文字列は、リスト「args」に詰め込まれます。
みたいな
これにより、システムがファイルの例外を見つけることができません。私が使うとき
できます。しかし、実行可能ファイルへの引数を失います。
サブプロセス モジュールは、最初に文字列を取得しない場合、リストからコマンドラインを構築するため、現時点ではその動作を説明できません。