私は、プログラムへの入力を受け付けるためにargparseモジュールを使用しています。私は約6つのオプションの引数(前置する必要がある引数はリストのどこにでも置くことができます)と1つの位置引数(引数を決定する順序を使用する必須の引数)を定義しました。この(簡潔にするため削除余分なオプション引数付き):Pythonbrewで位置引数にスペースを使用するにはどうすればよいですか?
usage: Main.py [-h] [--site SITE] [--username USERNAME] [--password PASSWORD]
[--verbose]
filepath
複数のPythonのインストールが共同することができます私はpythonbrewを使用して成功を収めている(のPython 2.6に付属)、Debianの上のPython 2.7のスクリプトを実行するためには、 - 同じサーバー上に存在します。それを使用することの良い副作用は私のスクリプト上で実行可能なアクセス許可を無効にすることができることを意味します。
ファイルパス(私の孤独な位置の引数)にスペースを入れて保存しようとするまで、うまくいきました。
pythonbrew py Main.py --verbose /media/rackspace/db1/clients/My\ Client/
pythonbrew py Main.py --verbose '/media/rackspace/db1/clients/My\ Client/'
pythonbrew py Main.py --verbose "/media/rackspace/db1/clients/My\ Client/"
pythonbrew py Main.py --verbose [/media/rackspace/db1/clients/My\ Client/]
pythonbrew py Main.py --verbose /media/rackspace/db1/clients/My Client/
pythonbrew py Main.py --verbose '/media/rackspace/db1/clients/My Client/'
pythonbrew py Main.py --verbose "/media/rackspace/db1/clients/My Client/"
pythonbrew py Main.py --verbose [/media/rackspace/db1/clients/My Client/]
すべては、誰もがこのエラーを確認することができ、同じエラーメッセージ
Main.py: error: unrecognized arguments: Client
を返しますか?誰もまだPythonグループに言及していないという事実は、これがPythonbrewのバグであると信じていますが、私はPythonbrewを保ち、このスクリプトを実行する別の方法を探しています。今のところ、ファイルをスペースなしでフォルダに保存するだけですが、誰かがこのエラーを助けることができれば嬉しいです。
「pythonbrew」のバグのようですが、巨大なものではありません。 –
眠るためのOH。私は 'pythonbrew/commands/py.py'のソースと、まあ、即座のfacepalmを読みました。 –