私はPythonのすばらしいCmdライブラリを使用してターミナルゲームを作っています。しかし、どうにかしてargparseコードを入れることができれば私は不思議でした。私のcmd.Cmd()クラスから 'args'を扱うためにargparseを使うのと同じです。 これを行うために、私はargparseが手作業で引数を渡す方法があることを本当に望んでいました。私はドキュメントをすくい取ったが、そのようなことは気付かなかった。argparseに手動でコマンドを渡しますか? | Python 2.7
1
A
答えて
3
parse_args()
は、オプションの引数args
を解析するリスト(またはタプル)を指定します。 (引数なし)parse_args()
がparse_args(sys.argv[1:])
と等価である:スクリプトで
、
parse_args()
は、典型的には、引数なしで呼び出され、ArgumentParser
が自動的sys.argv
からのコマンドライン引数を決定します。
あなたはタプルを持っていないが、単一の文字列は、シェルのような引数の分割はが使用を印刷し、メッセージを助けるだけでなく、exit()
になることをshlex.split()
>>> shlex.split('"A" B C\\ D')
['A', 'B', 'C D']
注意を使用して達成することができる場合致命的なエラー。あなたは、エラーを自分で処理するために.error()
を上書きすることができます。
class ArgumentParserNoExit(argparse.ArgumentParser):
def error(self, message):
raise ValueError(message) # or whatever you like
関連する問題
- 1. Python 2.7 Argparseオプションと必要な引数
- 2. のPython 2.7 argparseは:単一のフラグ
- 3. argparseモジュールがPythonで動作しない
- 4. Python 3でImportError、Python 2.7でうまく動作しました
- 5. リストをオプションとして渡すargparseオプション
- 6. ゲームにPython argparse
- 7. 最新バージョンのblenderはpython 2.7で動作しますか?
- 8. Pythonパッケージパスを手動で削除する
- 9. Python 2.7を使用してMySQLに変数を渡す
- 10. Python - Argparse
- 11. Python argparse "unrecognized arguments"エラー
- 12. Python [2.7] - サブプロセス
- 13. import numpyがPython 2.7ノートブックで動作していませんか?
- 14. pythonスクリプトからインスタンスを起動した後、ec2にコマンドを渡す方法は?
- 15. Python 2.7のサブプロセスは何も返しません。正確なコマンドはコンソールで動作します
- 16. Python argparse - サブコマンドのヘルプを無効にしますか?
- 17. Pythonコマンドでmysql.connectorを挿入しませんでしたが、手動でクエリが機能します
- 18. シリアルポートは手動PRINTコマンドで古い値を出力します
- 19. CKEditor asyncコマンド - afterCommandExecを手動で呼び出します。
- 20. Python 2.7のサブプロセス - エンジンにコマンドを発行する
- 21. erlにコマンドを渡しますか?
- 22. Django - argparseコマンドを-hオプションに変更するには?
- 23. Python argparseエラー
- 24. Python argparseとsys.argv
- 25. Python pip argparse upgrade
- 26. Python argparse with - 値
- 27. アクティブのPython 2.7
- 28. 印刷がかっこなしで動作しない(Python 2.7)
- 29. これらのパラメータをメソッドに渡す方法 - Python 2.7
- 30. Argparseを介して入手可能なスイッチをキャプチャ
[ 'parse_args(引数)'](https://docs.python.org/2/library/argparse.html#argparse.ArgumentParser.parse_args)のように? – dhke
@dhkeちょうどそのような文字列を渡すことはできますか? – Cyanite
リンクされたドキュメントを参照してください。彼らは全体を通してそれを使用します。 – glibdud