Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python ConfigParser模块如何翻译字符串\r\n“;去CRLF?_Python - Fatal编程技术网

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
子类实现了所需的功能。