【发布时间】:2017-12-16 23:01:33
【问题描述】:
我注意到我的一个脚本没有运行,因为 argparse 解析器无法 parse_args()。
if __name__ == "__main__":
import argparse
parser = argparse.ArgumentParser(description="Save a plot to file")
parser.add_argument('input_directory', metavar='i', type=str, default='.',
help='The input directory')
parser.add_argument('output_file', metavar='o', type=str,
help='The output filename')
parser.add_argument('--fix', type=str, default=None,
help='If FIX, the txt containing fix classification results')
args = parser.parse_args()
import ipdb; ipdb.set_trace()
奇怪的是,我注意到问题与名为args 的变量有关。我无法从该变量中检索任何信息,因为它总是返回空。
如果我将 args 变量的名称更改为其他任何名称,则脚本可以正常工作。
我问这个问题是因为我找不到任何信息告诉我args 是关键字或其他任何内容。
我将我的脚本调用为:
python3 plotter.py --fix $(pwd)/fix.txt $(pwd) $(pwd)/plot.png
这是一个有趣行为的截图:
注意任何包含单词args 的语句不会返回。
对这里可能发生的事情有任何想法吗?
【问题讨论】:
-
普通的
print(args)有效吗?也许ipdb正在使用args来达到自己的目的?
标签: python-3.x argparse