1

コードは次のとおりです。

        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がこのように設計されたのはなぜですか?

4

3 に答える 3

1

プログラミング言語 BASIC の影響を少し受けています。REMRemarks を意味し、コメントを紹介します。またcomment、コメントとして認識される必要があります。その他のコメント ステートメントは#;です。

于 2012-11-12T10:18:52.837 に答える
0

remin Batch はコメントを追加するために使用されます。つまり、基本的に何もしないコマンドです。この決定は設定ファイルに引き継がれたようです:

バッチ ファイルまたは構成ファイルにコメント (備考) を含めることができます。

ただし、rem実際のコメントは常に空白で区切られているため、構成オプションrememberが無視されることは意味がありません (無視されるだけrem emberです)。以下に示すように、投稿したコードはこれを確認します。

>>> line = 'remember_last = True'
>>> line.split(None, 1)[0].lower()
'remember_last'

だから、あなたの問題は別のもののようです。

于 2012-11-12T10:14:59.887 に答える
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 boolean 式の 2 番目の部分は完全に冗長です

于 2012-11-12T10:15:31.763 に答える