python - args python 解析器,一个空格和 Spark

标签 python linux apache-spark io redhat

我在 foo.py 中有这段代码:

from argparse import ArgumentParser
parser = ArgumentParser()
parser.add_argument('--label', dest='label', type=str, default=None, required=True, help='label')
args = parser.parse_args()

当我执行时:

spark-submit --master yarn --deploy-mode cluster foo.py --label 106466153-Gateway Arch

我在 Stdout 收到这个错误:

usage: foo.py [-h] --label LABEL
foo.py: error: unrecognized arguments: Arch

有什么想法吗?


尝试:

  1. --label "106466153-Gateway Arch"
  2. --label 106466153-Gateway\Arch
  3. --label "106466153-Gateway\Arch"
  4. --label="106466153-Gateway Arch"
  5. --label 106466153-Gateway\\\Arch
  6. --label 106466153-Gateway\\\\\\\Arch

所有尝试都会产生相同的错误。


我使用的是 Red Hat Enterprise Linux Server 6.4 版(圣地亚哥)。

最佳答案

这是一个糟糕的解决方法:

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

我在哪里使用 nargs="+" 然后 join 参数。

我这样执行:

spark-submit --master yarn --deploy-mode cluster foo.py --label "106466153-Gateway Arch"

另请注意,这种方法可以在不存在空间时起作用,如下所示:

spark-submit --master yarn --deploy-mode cluster foo.py --label "106466153-GatewayNoSpaceArch"

关于python - args python 解析器,一个空格和 Spark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39377451/

相关文章:

python - '尝试在非包中进行相对导入'尽管包在一个目录中具有 __init__.py

python - PULP优化解决方案未定义

linux - 具有 kerberos 身份验证的 Kafka 控制台消费者

java - 我们可以在 Spark sql 中触发传统的连接查询吗

scala - Spark Streaming 和 Kafka : value reduceByKey is not a member of org. apache.spark.streaming.dstream.DStream[任何]

scala - 将 FASTQ 文件读入 Spark 数据帧

python - 从 Perl 到 Python 的标量变量?

python - OrderedDict 在 Python 3.7 中会变得多余吗?

linux - Tomcat8 正在运行,但状态为 Tomcat servlet 引擎未运行

c - 如何追踪 Linux 中应该定义未声明常量的位置