python - 将带有空格字符的参数传递到 argparse

标签 python command-line-arguments argparse

我的Python脚本:

import os
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-l', '--l', nargs='+', help='list = [title, HTML]')
args = parser.parse_args()
print args.l

当我在 Keyboard Maestro 中执行脚本时,我这样做:

python  ~/Desktop/save_html.py -l $KMVAR_javascriptTITLE

它正在工作,但 argparse 正在解析任何带有空格的内容。

First Name 变为 ['First', 'Last']。如果我理解正确的话,arparse 正在读取我的命令,如下所示:

python ~/Desktop/save_html.py -l First Last

当我真正想要的是:

python ~/Desktop/save_html.py -l "First Last"

如何将变量传递到 argparse 并将其读取为 1 个字符串?

最佳答案

将我的评论更改为答案

如果你执行python ~/Desktop/save_html.py -l "$KMVAR_javascriptTITLE"怎么样?如有必要,请转义引号

关于python - 将带有空格字符的参数传递到 argparse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34597082/

相关文章:

python - 无法使用 python 解析 boto3 客户端 json 响应

Python - 测试一个抽象基类

python - argparse (python) 是否支持互斥的参数组?

python-2.7 - python argparse 可选参数的默认值

python - 使用 numpy 数组中的索引执行计算和比较

python - 无法从 python C++ 包装器访问析构函数

ruby - 如何使用 Trollop 制作用于命令行解析的 Ruby 脚本?

documentation - 命令行选项文档标准

java - 尝试制作平均查找器,不使用 ReadLine(),仅使用控制台

python - argparse 改变参数的定义