Python 相当于 PHP parse_ini_string
Python equivalent to PHPs parse_ini_string
我目前正在将 PHP 脚本移植到 Python 以学习 Python。
但目前我被卡住了,因为我正在调用一个 API,它总是 returns 一个 ini-formatted 回答如下:
error=0
---
asin=
name=Haftnotizen
detailname=info flags Haftnotizen
vendor=GlobalNotes
maincat=Haushalt, Büro
---
我已经学会了可以使用ConfigParser
来解析ini-files。
但在这种情况下,ini-answer 没有标题(this solution 不会有问题)并且还有这些 ---
分隔符。
我现在的代码是:
import configparser
with open('test.ini', 'r') as f:
config_string = '[dummy_section]\n' + f.read()
config = configparser.ConfigParser()
config.read_string(config_string)
但不幸的是,它向我抛出以下错误消息:
configparser.ParsingError: Source contains parsing errors: '<string>'
[line 3]: '---\n'
[line 9]: '---'
如何忽略这些行? (另外,他们并不总是在同一行)
我不知道下一步该怎么做,任何帮助将不胜感激!
它并不漂亮,但如果错误字符串始终完全相同,您可以从数据中删除该子字符串。你会这样做:
config_string = config_string.replace("---", "")
我目前正在将 PHP 脚本移植到 Python 以学习 Python。 但目前我被卡住了,因为我正在调用一个 API,它总是 returns 一个 ini-formatted 回答如下:
error=0
---
asin=
name=Haftnotizen
detailname=info flags Haftnotizen
vendor=GlobalNotes
maincat=Haushalt, Büro
---
我已经学会了可以使用ConfigParser
来解析ini-files。
但在这种情况下,ini-answer 没有标题(this solution 不会有问题)并且还有这些 ---
分隔符。
我现在的代码是:
import configparser
with open('test.ini', 'r') as f:
config_string = '[dummy_section]\n' + f.read()
config = configparser.ConfigParser()
config.read_string(config_string)
但不幸的是,它向我抛出以下错误消息:
configparser.ParsingError: Source contains parsing errors: '<string>'
[line 3]: '---\n'
[line 9]: '---'
如何忽略这些行? (另外,他们并不总是在同一行)
我不知道下一步该怎么做,任何帮助将不胜感激!
它并不漂亮,但如果错误字符串始终完全相同,您可以从数据中删除该子字符串。你会这样做:
config_string = config_string.replace("---", "")