代码是这样的:
if line.split(None, 1)[0].lower() == 'rem' and line[0] in "rR":
# no leading whitespace
continue
我认为这意味着如果我写这样的配置:
[memo]
rem ember_last = True
以rem ember_last
开头的行将被忽略。
为什么ConfigParser设计得像这样?
答案 0 :(得分:1)
它受编程语言BASIC的影响。 REM
表示备注并引入评论。此外,comment
应被视为评论。其他评论声明为#
和;
。
答案 1 :(得分:0)
rem
用于添加注释,即它是一个基本上什么都不做的命令。似乎这个决定被转移到配置文件:
允许您在批处理文件或配置文件中包含注释(备注)。
但是,rem
和实际注释总是用空格分隔,因此忽略配置选项remember
是没有意义的(只有rem ember
会)。您发布的代码确认了这一点,如下所示:
>>> line = 'remember_last = True'
>>> line.split(None, 1)[0].lower()
'remember_last'
所以,你的问题似乎是另一回事。
答案 2 :(得分:0)
小实验:
In [190]: line = 'remember_last = True'
In [191]: line.split(None, 1)[0].lower() == 'rem' and line[0] in "rR"
Out[191]: False
表明您的担忧是没有根据的。你需要解释 - 或者你可以自己弄明白吗?
PS布尔的第二部分表达式是绝对多余的