【问题标题】:Argparse input with spaces and escape characters带有空格和转义字符的 argparse 输入
【发布时间】:2016-06-10 14:18:16
【问题描述】:

以下是我的python脚本

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('query', nargs='*')
args = parser.parse_args() 
print args.query

如果我用这样的论点来朗姆酒:

python script.py use of \n

它给了我以下输出:

['use', 'of', 'n']

而我想拥有

['use', 'of', '\\n']

等等。

【问题讨论】:

  • 我收到['use', 'of', '\\n']
  • 哦!那会的。我更正了这个问题。
  • 基本上我会用空格连接字符串,所以我想要它。
  • 它给出了你喜欢的输出
  • 不,它没有。我在 python27 顺便说一句。

标签: python parsing arguments argparse


【解决方案1】:

您应该在 '\' 是 shell 转义字符的 linux 上得到这种行为。它用于在下一行继续一个长命令。因此,您可以使用 '\' 字符在多行中编写长命令。 当你运行

python script.py use of \n

shell 把'\n'当作两个字符'\'一个转义字符和'n', 解决方案应该是

python script.py use of \\n

python script.py use of '\n'

【讨论】:

  • 这并不能真正解决问题。像这样的输入呢:ma'am it'll
  • 你在shell上运行命令,你需要按照shell解释的方式编写。
猜你喜欢
  • 2016-02-23
  • 1970-01-01
  • 2016-04-08
  • 1970-01-01
  • 2017-09-06
  • 2013-08-12
  • 1970-01-01
  • 2022-11-02
  • 1970-01-01
相关资源
最近更新 更多