python ConfigParser模块如何翻译字符串\r\n“;去CRLF?
测试代码:python ConfigParser模块如何翻译字符串\r\n“;去CRLF?,python,Python,测试代码: 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 = line
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的值相同
任何帮助都将不胜感激 如果要写入多行配置值,只需在以下行的开头添加空格即可。例如:
[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
谢谢,但我需要的是'\r\n',因为这个字符串是HTTP请求。@pvd如果您真的需要这样做,我添加了一个示例,其中一个
ConfigParser
子类实现了所需的功能。