Split() 在 python 中跳过换行符

Split() skips NewLine in python

Note: In File "\n" is used for New Line its length is 1 and "\n" is used for string "\n" its length is two.

当我在 Line.split() 之后给出 Line="Some thing\n" 时,它会给出单词列表 ["Some","thing"] 并跳过 \n 它不会给出 thing\n。我没有使用 strip() 函数,它默认使用它。普通的 strip() 函数用于从行尾跳过 \n

check.txt:

abc abc abc \n abc abc abc abc abc abc abc abc abc abc abc abc abc

abc abc abc

我的代码是:

fileread=open("check.txt","r")
for line in fileread:
     print("Line:",line , "lenght :",len(line))
     words=line.split()                  #It Skip NewLine by Default
     print("Words List in Line:",words)

输出:

Line: abc abc abc \n abc abc abc abc abc abc abc abc abc abc abc abc abc
 lenght : 68
Words List in Line: ['abc', 'abc', 'abc', '\\n', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc']
Line:
 lenght : 1
Words List in Line: []
Line: abc abc abc
 lenght : 12
Words List in Line: ['abc', 'abc', 'abc']

我的问题是,拆分功能是否可以默认去除行中的特殊字符? 为什么 Line:"\n" 不创建列表 ["\n"] 而它创建空列表 []

Split() 函数 在 Link

中按 default.Description 拆分所有这些字符
Representation  Description
\n             Line Feed
\r             Carriage Return
\r\n           Carriage Return + Line Feed
\v or \x0b     Line Tabulation
\f or \x0c     Form Feed
\x1c           File Separator
\x1d           Group Separator
\x1e           Record Separator
\x85           Next Line (C1 Control Code)
\u2028         Line Separator
\u2029         Paragraph Separator

Python代码为

>>> data= "dsddddd\ndasdasd\ndasdasdas\nasfsafs\n"
>>> print(data.split())
['dsddddd', 'dasdasd', 'dasdasdas', 'asfsafs']
>>> data="aaaaaaaaaaa aaaaaaaaaaaa aaaaaaaaaa"
>>> print(data.split())
['aaaaaaaaaaa', 'aaaaaaaaaaaa', 'aaaaaaaaaa']
>>> data= "dsddddd\rdasdasd\rdasdasdas\rasfsafs\r"
>>> print(data.split())
['dsddddd', 'dasdasd', 'dasdasdas', 'asfsafs']
>>> data= "dsddddd\u2029dasdasd\u2029dasdasdas\u2029asfsafs\u2029"
>>> print(data.split())
['dsddddd', 'dasdasd', 'dasdasdas', 'asfsafs']
>>>