TypeError:__ init __()得到一个意外的关键字参数'type'(argparse issue?)

时间:2015-09-30 17:41:07

标签: python argparse

我正在尝试使用python3编写一个简单的脚本,并且在尝试强制arg值为字符串时出现此错误。我一直在搜索,但其他线程主要涉及使用Django等,这不是我想要做的。

任何帮助将不胜感激!提前谢谢。

import argparse

parser = argparse.ArgumentParser('seq_file', type=str, help = 'xyz')
parser.add_argument('sequence_file', type=str, help='xyz')

args = parser.parse_args()

我得到的错误是:

File "x.py", line y, in <module>
parser = argparse.ArgumentParser('seq_file', type=str, help='xyz')
TypeError: __init__() got an unexpected keyword argument 'type'

我做错了什么?

1 个答案:

答案 0 :(得分:6)

文档显示argparse.ArgumentParser没有type参数。

看起来您正试图在ArgumentParser的构造函数中描述一个参数。使用add_argument方法执行此操作。

更改

parser = argparse.ArgumentParser('seq_file', type=str, help = 'xyz')

parser = argparse.ArgumentParser()
parser.add_argument('seq_file', type=str, help='xyz')