如何在Python中读取多行.properties文件
我正在尝试读取 java 多行 i18n 属性文件。有如下行:
messages.welcome=Hello\
World!
messages.bye=bye
使用此代码:
import configobj
properties = configobj.ConfigObj(propertyFileName)
但对于多行值,它会失败。
有什么建议吗?
I'm trying to read a java multiline i18n properties file. Having lines like:
messages.welcome=Hello\
World!
messages.bye=bye
Using this code:
import configobj
properties = configobj.ConfigObj(propertyFileName)
But with multilines values it fails.
Any suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
根据 ConfigObj 文档,
configobj
要求您将多行值括在三引号中:如果无法修改属性文件,我建议使用 configparser< /a>:
这是概念的快速证明:
输出:
According to the ConfigObj documentation,
configobj
requires you to surround multiline values in triple quotes:If modifying the properties file is out of the question, I suggest using configparser:
Here's a quick proof of concept:
Output:
感谢您的回答,这就是我最终所做的:
这是代码的摘录:
我仍然有那些不以空格开头的多行会出现问题。我只是手动修复了它们,但 sed 可以解决这个问题。
Thanks for the answers, this is what I finally did:
This is a extract of the code:
I still have troubles with those multilines that doesn't start with an empty space. I just fixed them manually, but a sed could do the trick.
像这样设置属性文件的格式:
Format your properties file like this:
尝试 ConfigParser
Give a try to ConfigParser
我不明白 Java 汤中的任何内容,但我希望正则表达式可以帮助您:
结果
I don't understand anything in the Java broth, but a regex would help you, I hope:
result