(注:私は何かを変えようとしているわけではありません - 理解しようとしているだけです)
Pythonでファイルを読み込むための解決策を見ると、毎回改行文字を取り除く必要があります:
In [5]: [line for line in open("text.txt", "r")]
Out[5]: ['line1\n', 'line2']
直観的な動作 (これに関するいくつかの質問の人気から判断すると) は、単に削除された行を生成することでしょうか?
この背後にある理論的根拠は何ですか?
- 編集 -
確かに: 「直感的」は主観的です。ただし、「一貫性」はそれほどではありません。どうやら の「ライン」の概念"line1\nline2".splitlines()
は、 で処理されるものとは異なるものですiter(open("text.txt"))
。
>>> assert(open("text.txt").readlines() == \
... open("text.txt").read().splitlines())
AssertionError
かなり確かに人々はこれに巻き込まれます。
だから私は間違っていました.多分私の直感はsplitlines
解釈と一致しています.分割されたものにはセパレータを含めるべきではありません. 私の質問への答えは技術的なものではないかもしれませんが、「PEP-xyz は PEP-qrs とは異なる人々によって承認されたため」のようなものです。たぶん、Python言語フォーラムに投稿する必要があります。