gpt4 book ai didi

python - Python 3 中的 configparser 中的 read 和 read_file 有什么区别?

转载 作者:行者123 更新时间:2023-12-04 14:23:01 30 4
gpt4 key购买 nike

我想知道 configparser 中 read 和 read_file 的使用有什么区别。据我测试

config_parser = configparser.ConfigParser()
config_parser.read(config_file)


config_parser = configparser.ConfigParser()
config_parser.read_file(config_file)

两者都适合我。
config_file 是我作为输入参数传递的 config_file 的名称。

最佳答案

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

关于python - Python 3 中的 configparser 中的 read 和 read_file 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51772047/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com