2017-02-02 55 views
1

所以我将我的代码从python 2.7移动到3.6(yay!)。但是,我意识到,我所有的超长配置文件将需要进行修改,因为在这样的线2.7是一个配置文件有效,它不是在3.6python 3.6中的行内注释行为不同于2.7

SCALE_PRECIPITATION = 1000.0 ; Convert from m to mm 

有没有办法有在python 3.6的配置文件内嵌评论?

import sys 
if sys.version_info.major == 3: 
    from configparser import ConfigParser as SafeConfigParser 
else: 
    from ConfigParser import SafeConfigParser 

parser = SafeConfigParser(inline_comment_prefixes=True) 
parser.read('config_file.txt') 
+0

你用什么来解析这些配置文件? – user2357112

回答

3

看起来你可以指定inline_comment_prefixes作为参数configparser.ConfigParser

当给出inline_comment_prefixes时,它将用作以非空行为注释前缀的子字符串集合。

此行为python3.2改为:

改变在3.2版本:在以前版本的configparser行为匹配comment_prefixes=('#',';')inline_comment_prefixes=(';',)

请注意,这也告诉你用什么值来恢复旧的行为;-)。

+0

@wim - 我只是补充说:-)。 – mgilson

+0

谢谢@mgilson – user308827