2
スパーク私はfoo.py
でこのコードを持っている:引数Pythonのパーサ、空白や
from argparse import ArgumentParser
parser = ArgumentParser()
parser.add_argument('--label', dest='label', type=str, default=None, required=True, help='label')
args = parser.parse_args()
とIは、実行:
--master糸--deployモードクラスタFOOをスパーク提出します.py --label 106466153-ゲートウェイアーチ
私は標準出力で、このエラーを取得:
usage: foo.py [-h] --label LABEL
foo.py: error: unrecognized arguments: Arch
何か考えてください。
試み:
--label "106466153-Gateway Arch"
--label 106466153-Gateway\ Arch
--label "106466153-Gateway\ Arch"
--label="106466153-Gateway Arch"
--label 106466153-Gateway\\\ Arch
--label 106466153-Gateway\\\\\\\ Arch
すべての試みで同じエラーが発生します。
私はRed Hat Enterprise Linux Serverリリース6.4(サンティアゴ)を使用しています。私はnargs="+"
、その後join
引数を使用しています
from argparse import ArgumentParser
parser = ArgumentParser()
parser.add_argument('--label', dest='label', type=str, default=None, required=True, help='label', nargs="+")
args = parser.parse_args()
args = ' '.join(args.label)
print args
:ここ
引用符:launch_the_spark_script ... features.py --label "106466153 - ゲートウェイアーチ"。私が知っているほとんどのシェルは、引用されたものを基底のプロセス(この場合は 'python')に特異な引数として渡します。 – mgilson
実際に動作する最小の例を使用します。 'help'引数が終了していない文字列であるため、あなたのコードは無効なpythonです。 – Anthon
[tag:python]は@Anthonだけうまく動作しますが、[tag:Spark]が干渉するものがあります。 – gsamaras