代码是这样的:
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 是这样设计的?
它有点受编程语言 BASIC 的影响。REM
表示备注并介绍评论。也comment
应被视为评论。其他注释语句是#
和;
。
rem
in Batch 用于添加注释,即它是一个基本上什么都不做的命令。似乎这个决定被转移到配置文件中:
使您能够在批处理文件或配置文件中包含注释(备注)。
但是,rem
实际的注释总是用空格分隔,因此remember
忽略配置选项(只会rem ember
)是没有意义的。您发布的代码证实了这一点,如下所示:
>>> line = 'remember_last = True'
>>> line.split(None, 1)[0].lower()
'remember_last'
所以,你的问题似乎是别的。
小实验:
In [190]: line = 'remember_last = True'
In [191]: line.split(None, 1)[0].lower() == 'rem' and line[0] in "rR"
Out[191]: False
表明你的担忧是没有根据的。您是否需要解释 - 或者您可以自己弄清楚?
PS布尔表达式的第二部分绝对是多余的