python读取文件时出现多行空行或者空格的解决办法

问题描述:文件tesxt.txt内容,如下,按行读取文件后,打印到控制台出现多个空行的问题。


 使用部分代码:

#代码1
with open('test.txt','r') as f:
    lines = f.readlines()
    for line in lines:
        print(line)
f.close()

#代码2.
f = open("test.txt","rt") #网上很多说换成rU,或者rt。
content = f.readlines()
for i in content:
    print(i)
f.close()

输出结果:出现多个空行的问题

ccccccccccd888888888

ddddddddddddddddd00

333343434343fsddf

safsdfasdfsadfsadsf

解决办法:

     网上很多说是因为 Unix 平台的换行符是 \n,而 windows 平台用的是 \r\n 两个 ASCII 字符来表示换行,python 内部采用的是 \n 来表示换行符。t 是 windows 平台特有的所谓 text mode(文本模式),所有文件的打开模式 换成rt 模式下,python 在读取文本时会自动把 \r\n 转换成 \n。还有什么rU模式,或者用 strip()去除,或者用if条件判断\n换行符。其实没那么烦。

       因为print()打印时默认加了换行,所以加上,如果出现文件输出有空行的情况直接将print的换行取消即可。给print()加一个取消自动换行的end=""参数即可:print(line,end=""),跟windows,unix没有关系。就是这么简单。

#代码1
with open('test.txt','r') as f:
    lines = f.readlines()
    for line in lines:
        print(line,end="")
f.close()

#代码2.
f = open("test.txt","rt") #网上很多说换成rU,或者rt。
content = f.readlines()
for i in content:
    print(i,end="")
f.close()
==========================================================
ccccccccccd888888888
ddddddddddddddddd00
333343434343fsddf
safsdfasdfsadfsadsf
ccccccccccd888888888
ddddddddddddddddd00
333343434343fsddf
safsdfasdfsadfsadsf

猜你喜欢

转载自blog.csdn.net/qq_26442553/article/details/81809962
今日推荐