【问题标题】:Python program with argument containing $ [duplicate]参数包含 $ [重复] 的 Python 程序
【发布时间】:2017-12-22 22:07:15
【问题描述】:

我有一个接受参数的 python 程序。但是当我传递一个包含"$6" 的参数值时,它不会在程序内部打印。

import argparse,ast

parser = argparse.ArgumentParser()
parser.add_argument("password")
args = parser.parse_args()
print args.password

在调用程序时

python main.py main$6hhh

我只收到"mainhhh" 的回复。为什么会出现这种行为?

【问题讨论】:

  • 您的 shell 将 $6hhh 解释为变量并为其返回一个空字符串。请改用python main.py 'main$6hhh'

标签: python


【解决方案1】:

命令行将$6hhh 解释为变量。将其括在单引号中,因此您的命令将是:

python main.py 'main$6hhh'

【讨论】:

    【解决方案2】:

    因为bash 将 $6 解释为位置参数,但它没有第 6 个参数,所以它什么都不插入。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-24
      • 1970-01-01
      • 2019-07-11
      • 2015-07-18
      • 2018-11-15
      • 1970-01-01
      • 2020-10-09
      相关资源
      最近更新 更多