忽略python argparse中的空间

拉加万

对于以下代码,

import os
import shutil
import argparse

if __name__ == '__main__':
    ap = argparse.ArgumentParser(description="Test")
    ap.add_argument('-s', '--values', action="store", dest="values", nargs='+', type=str)
    args = vars(ap.parse_args())
    print args

该代码的输入是

$python test.py -s 90030#95000#m#6099#bc 90031#95001#s#1#+100ABC 90032#95002#s#2#+200ABC 90033#95003#s#3#+300 ABC

实际输出为

{'values': ['90030#95000#m#6099#base_case', '90031#95001#s#1#+100ABC', '90032#95002#s#2#+200ABC', '90033#95003#s#3#+300', 'ABC']}

但是,我需要通过忽略第三个参数中的空格来输出以下内容。

{'values': ['90030#95000#m#6099#base_case', '90031#95001#s#1#+100ABC', '90032#95002#s#2#+200ABC', '90033#95003#s#3#+300 ABC']}

我可以知道如何传递正确的论点吗

马丁·彼得斯(Martijn Pieters)

这不是一个问题。这是一个问题。您的shell解析出参数,并将其作为数组传递给Python。

通过在引号之间加上引号,以使外壳程序不解析字符串:

$ python test.py -s 90030#95000#m#6099#bc 90031#95001#s#1#+100ABC \
    90032#95002#s#2#+200ABC "90033#95003#s#3#+300 ABC"

请注意,"90033#95003#s#3#+300 ABC"作为最后一个参数。

您还可以使用反斜杠来转义空格:

$ python test.py -s 90030#95000#m#6099#bc 90031#95001#s#1#+100ABC \
    90032#95002#s#2#+200ABC 90033#95003#s#3#+300\ ABC

演示使用csh和示例代码:

% python test.py -s a b c
{'values': ['a', 'b', 'c']}
% python test.py -s a "b c"
{'values': ['a', 'b c']}
% python test.py -s 90030#95000#m#6099#bc 90031#95001#s#1#+100ABC 90032#95002#s#2#+200ABC 90033#95003#s#3#+300\ ABC
{'values': ['90030#95000#m#6099#bc', '90031#95001#s#1#+100ABC', '90032#95002#s#2#+200ABC', '90033#95003#s#3#+300 ABC']}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python argparse忽略串联的args?

来自分类Dev

Python中的if语句被忽略

来自分类Dev

Python argparse忽略默认值

来自分类Dev

忽略python中的IPython魔术

来自分类Dev

在python中忽略numpy bincount中的NaN

来自分类Dev

忽略python中的numpy bincount中的NaN

来自分类Dev

如何创建Python名称空间(argparse.parse_args值)?

来自分类Dev

Python argparse:如何分别获取参数组的命名空间对象?

来自分类Dev

如何在python 2.6中忽略证书?

来自分类Dev

忽略python中的反斜杠字符

来自分类Dev

忽略Python listdir中的“系统卷信息”

来自分类Dev

Python忽略命令从列表中删除项目

来自分类Dev

如何忽略 Python 中的哈希“#”符号?

来自分类Dev

忽略 Python 统计模型中的 NaN

来自分类Dev

Python 警告 Django 测试中的异常,忽略

来自分类Dev

被忽略的文件在git仓库中占用空间

来自分类Dev

忽略git refspec中的单个名称空间

来自分类Dev

Python中多余的空间

来自分类Dev

Linux忽略了在我的python脚本中启动的命令中的引号

来自分类Dev

如何在 Python 中忽略字符串中的空格?

来自分类Dev

在python中忽略csv中的标题对数据进行排序

来自分类Dev

在python中,使用-h时argparse崩溃

来自分类Dev

在Python中访问argparse的参数值

来自分类Dev

python argparse中的多行帮助显示

来自分类Dev

在Python的argparse中多次使用相同的选项

来自分类Dev

python中的“ argparse.ArgumentParser”错误

来自分类Dev

在 argparse 帮助 python 模块中缩进

来自分类Dev

Python 3.7 中的 conda 和 argparse 冲突

来自分类Dev

离线绘图忽略plotly python API中的布局参数