documentation指出Dialect.delimiter
的默认值为','
。但是,当我尝试打印时,它返回None
。
>>> print(csv.Dialect.delimiter)
None
Dialect.delimiter一个用于分隔字段的单字符字符串。它 默认为','。
答案 0 :(得分:2)
这是创建自己的方言时的默认值。
import csv
csv.register_dialect('my_dialect')
dialect = csv.get_dialect('my_dialect')
print(dialect.delimiter)
答案 1 :(得分:1)
这是创建新的Dialect
时的默认值。您可以使用csv.get_dialect()
获得一个方言实例(如果使用的是Python 3.x,则是一个不变的实例),并使用csv.register_dialect
注册一个方言实例。您也可以只继承Dialect
的子类,然后继续进行下去。
如果您仅阅读该行,则文档可能看起来不清楚,但是上面几行可以看到:
为便于指定输入和输出记录的格式,将特定的格式设置参数组合为方言。方言是方言类的子类,它具有一组特定的方法和一个validate()方法。
在REPL中进行简单的help(csv.Dialect)
确认使用此类时必须进行子类化。
class Dialect(builtins.object)
| Describe a CSV dialect.
|
| This must be subclassed (see csv.excel). Valid attributes are:
| delimiter, quotechar, escapechar, doublequote, skipinitialspace,
| lineterminator, quoting.
|
| Methods defined here:
|
| __init__(self)
| Initialize self. See help(type(self)) for accurate signature.
|
| ----------------------------------------------------------------------
| Data descriptors defined here:
|
| __dict__
| dictionary for instance variables (if defined)
|
| __weakref__
| list of weak references to the object (if defined)
|
| ----------------------------------------------------------------------
| Data and other attributes defined here:
|
| delimiter = None
|
| doublequote = None
|
| escapechar = None
|
| lineterminator = None
|
| quotechar = None
|
| quoting = None
|
| skipinitialspace = None