2017-11-21 7 views
0

PowerShellのコマンドライン引数を解析するオープンソースのPythonプロジェクトがあるのだろうか?Python:PowerShellコマンドライン引数パーサー

は、私はPythonが組み込まれていることを、コマンドライン引数を解析することが可能であるモジュール​​知っているが、PowerShellの引数を使って:

  • 部分/不完全な議論がまだ有効である
  • 大文字と小文字を区別
例えば

、Windowsコンソール上で、これらはすべて有効です。

> powershell.exe -Command "[console]::WriteLine(\"Hello\")" 
Hello 
> powershell.exe -Comman "[console]::WriteLine(\"Hello\")" 
Hello 
> powershell.exe -cOMm "[console]::WriteLine(\"Hello\")" 
Hello 
> powershell.exe -c "[console]::WriteLine(\"Hello\")" 
Hello 

また、この解析を行うためのオープンソースプロジェクトがない場合は、何をお勧めしますか?で

+0

なぜでしょうか? – TheIncorrigible1

+1

私はあなたの質問を完全に理解していません。しかし、 'argparse'はフラグの略語を受け入れます(最近のバージョンではそれを無効にすることができます)。これは大文字と小文字を区別しますが、 'sys.argv'リストをあらかじめ小文字のすべてのフラグに微調整することができます。 – hpaulj

+0

@hpauljはい、私はargparseがフラグの略語を受け入れることを理解しています。 add_argument( ' - Command'、 '-c'、...)、PowerShellのような構文(略語のすべての組み合わせを受け入れる)で何かを思い出して、それを一つずつ指定しなければならないよりハードコーディングされたソリューションに似ています。 –

答えて

0

parser.add_argument('-c','--command'); 
parser.add_argument('-domain'); 

'-c'、 ' - コマンド'、 '--com' などすべての作業。 '-com'はしません。

'-domain'、 '-d'、 '--dom'も動作します。

parser.add_argument('-c','-command') 

には、2つの単一のダッシュフラグのあいまいさがあるため、いくつかの問題があります。

​​(POSIX規格に準拠)の場合、理想的なのは単一のダッシュと文字の短いフラグと二重ダッシュを使用することです。

ショートフラグをチェーンすることができます。長いものは '=' `を許します。長さは2つの間の亀裂に入る。それはうまく動作しますが、予想通りには動作しません。

+0

実際に私の使用のために、 'parser.add_argument( ' - command')'は_command_、_comman_、...、_c_をカバーできます。しかし、大文字小文字の区別は、それをトグルする組み込みの 'argparse'フラグが存在しないので、依然として問題になります。だから私は前のコメントで提案したように、 'argv'を手作業で調整しなければならないと思います。 –

関連する問題