Python ConfigParser模块如何将字符串"\r\n"转换为CRLF?
这是测试代码:
import ConfigParser
config = ConfigParser.ConfigParser()
config.read('test_config.ini')
orig_str = """line1\r\nline2"""
config_str = config.get('General', 'orig_str')
print orig_str == config_str
而test_config.ini文件的内容是:
[General]
orig_str = line1\r\nline2
我想要的是config_str的值和orig_str的值是一样的。
任何帮助都会很感激!
1 个回答
2
如果你想写多行的配置值,只需要在接下来的行的开头加一个空格就可以了。例如:
[General]
orig_str = line1
line2
在我的操作系统(Linux)上,这样做会返回 'line1\nline2'
,不过在其他操作系统上,可能会返回 '\r'
。不过没关系,你可以根据需要把 '\n'
替换成 '\r\n'
。
我觉得你用来编码消息的库应该会自动处理这个替换。如果没有,你可以自己创建一个 ConfigParser
,方法如下:
from ConfigParser import ConfigParser
class MyConfigParser(ConfigParser):
def get(self, section, option):
return ConfigParser.get(self, section, option).replace('\n', '\r\n')
config = MyConfigParser()
config.read('test_config.ini')
orig_str = """line1\r\nline2"""
config_str = config.get('General', 'orig_str')
print orig_str == config_str # Prints True