read_file
接受类文件对象,read
接受文件名。
read
的主要问题在于,如果文件不存在,它会默默失败,导致 ConfigParser
为空。
config_parser.read("config.ini") # object is unchanged even if file doesn't exist
read_file
这个函数不会发生这种情况,因为你可以控制文件的打开方式。
with open("config.ini") as f:
config_parser = configparser.RawConfigParser()
config_parser.read_file(f)
另一个有用的情况是当您有一系列代表
.ini
文件内容的行列表时。
read_file
接受字符串作为输入(因为字符串是可迭代的),但结果并不实用。
>>> config_parser.read_file("config.ini")
Traceback (most recent call last):
File "<string>", line 301, in runcode
File "<interactive input>", line 1, in <module>
File "L:\Python34\lib\configparser.py", line 690, in read_file
self._read(f, source)
File "L:\Python34\lib\configparser.py", line 1057, in _read
raise MissingSectionHeaderError(fpname, lineno, line)
configparser.MissingSectionHeaderError: File contains no section headers.
file: '<???>', line: 1