(注意:我并没有试图改变任何事情 - 只是想了解)
查看在python中读取文件的解决方案,每次都应该删除换行符:
In [5]: [line for line in open("text.txt", "r")]
Out[5]: ['line1\n', 'line2']
虽然直觉行为(判断一些que stions对这个问题的普及程度)会产生剥离的线条吗?
这背后的理由是什么?
- 编辑 -
授予:'直观'是主观的。然而,一致的'则不那么重要。显然,'线' "line1\nline2".splitlines()
中的概念与iter(open("text.txt"))
:
>>> assert(open("text.txt").readlines() == \
... open("text.txt").read().splitlines())
AssertionError
非常确定人们做会被此抓住。
所以我错了:也许我的直觉与splitlines
解释一致:分裂的东西不应该包括分隔符。也许我的问题的答案不是技术问题,而是更像是#34;因为PEP-xyz被不同的人批准而不是PEP-qrs"。也许我应该把它发布到一些python语言论坛。
答案 0 :(得分:1)
嗯,这是一条线。通过以字符\n
结尾来定义一条线。如果一系列字符没有以\n
(或EOF)结尾,我们怎能知道它是一条线?
"hello world"
"hello world\n"
第一个不是一条线,如果我们打印两次,我们可能会得到
hello worldhello world
Wile第二个版本会给我们
hello world
hello world