問題タブ [docopt]
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 - docopt のコマンドライン引数辞書にデフォルトが表示されないのはなぜですか?
シンプルな CLI を作成するために docopt を使用しようとしてきましたが、何らかの理由で既定のパラメーターが表示されません。以下は私のテストコードです。docopt.py
github リポジトリの最新バージョンを使用しています。
実行したときの出力は次のとおりです$ scrappy/scrappy.py first_path_parameter second/path/parameter
何が起こっているか知っている人はいますか?
編集:
コードを更新しましたが、まだ同様の出力が得られます。さらに、 を渡そうと--scan-individual
すると、引数が必要であるというエラーが表示されます。繰り返しになりますが、問題が発生した場合に備えて、docopt.py をプロジェクトの作業ディレクトリにコピーするだけで docopt を実行しています。何が起きてる?
出力:
python - docopt + スキーマ検証
この検証を処理するより良い方法はありますか:
python - docoptでのHTTPieの実装
docoptを使用してHTTPieのCLIを実装しようとしていますが、何らかの理由で、最初の引数としてMETHODをオプションにすることができません。この問題を切り分けるために、ほとんどのオプションを削除しました。
さらに、HTTPieの作成者がREQUEST ITEMを取得する方法は、docopt docsで間違っているように思われるため、その部分を実装するための最良の代替手段は何かと考えていました。
HTTPieの完全なドキュメント:https ://github.com/jkbr/httpie
私のdocoptの例:https ://gist.github.com/dasickis/4711926
python - Python プログラムからカスタム システム コマンドを作成するにはどうすればよいですか?
Python で記述されたコマンドライン プログラム (具体的には argparse を使用するdocoptmy-program command1 args
を使用) があり、それをの代わりにとして実行したい場合python my-program.py command1 args
、どうすればよいですか? 今のところ、これは Debian ベースの OS (Ubuntu など) 用です。
私は通常、モジュールをパッケージにするので、すでに持っていますsetup.py
が、無料のコマンドは許可されません。
ありがとう!
編集
@pyrospade は、以下の非常に優れたリンクを提供しました。私は私の結果を共有するつもりです。
私たちが持っているとしましょう
シェルでscripts=['package/cli.py']
アクセスしたい場合に利用できます。cli.py
として実行したい場合my-cli
は、使用できます
を使っているのでdocopt
、これを持っています
__init__.py
と言って下に置くこともでき['my-cli=package:main']
ますが、繰り返しますが、という関数が必要ですmain()
。ただし、任意の名前を付けることができます。ただ言って。
docopt - Docopt - 1 つ以上のオプションが必要です
--a --b --c の 3 つの引数があり、コマンドで少なくともそれらの 1 つを受け入れたいのですが、a/b/c のすべての組み合わせも有効です。例えば:
ただし、引数がないわけではありません:
ありがとう!
python - docopt がオプションを飲み込むのを防ぐには?
docopt を使用してコマンドライン インターフェイスを作成しようとしています。これが私のファイルの簡略版です:
基本的に、任意のオプションを任意の順序で指定できるようにしたいと考えています。ただし、フラグの引数を指定するのを忘れると-a
、次のような出力が得られます。
Docopt は、入力を無効として拒否するのではなく-b
、フラグをフラグの引数として扱っています。-a
これを検出する簡単な方法、またはこの種の不正な入力の受け入れを docopt に拒否させる方法はありますか?
python - docopt でデフォルトを空の文字列に設定する方法
次のようなdocopt使用文字列があります。
デフォルト値を空の文字列に設定するには?
''
それを文字列"''"
に
設定し[default: ]
、KeyError '--data'