我无法搞清楚csv.dictreader的参数,并意识到我不知道方括号是什么意思。
来自文件:
class csv.DictReader(csvfile[, fieldnames=None[, restkey=None[, restval=None[, dialect='excel'[, *args, **kwds]]]]])
我很欣赏类实例化的参数摘要。
由于
答案 0 :(得分:19)
方括号表示这些参数是可选。你可以把它们留下来。
因此,在这种情况下,只有必需才能将csvfile
参数传递给csv.DictReader
。如果您传递第二个参数,它将被解释为fieldnames
参数。第三个是restkey
等等。
如果您只想指定例如cvsfile
和dialect
,那么您必须明确命名关键字参数,如下所示:
csv.DictReader(file('test.csv'), dialect='excel_tab')
有关关键字参数的更多信息,请参阅python.org上教程的section 4.7.2。
答案 1 :(得分:2)
通常在api文档中,方括号表示可选。我认为他们的意思相同。
答案 2 :(得分:2)
这实际上是广泛使用的符号的一个子集,用于明确描述称为Backus-Naur Form的语言语法(详见维基百科文章)。
答案 3 :(得分:1)
重申其他人所说的话,这些论点是可选的。
如果您遗漏了可选部分,剩余的fieldnames=
,restval=
,restkey=
或dialect=
关键字会告诉函数哪些部分缺失。
语法不建议它,但如果关键字允许以任何顺序对参数进行特定,我不会感到惊讶,除了最后两个参数必须同时指定,或者两者都被省略。