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

统一声明:关于原创博客内容,可能会有部分内容参考自互联网,如有原创链接会声明引用;如找不到原创链接,在此声明如有侵权请联系删除哈。关于转载博客,如有原创链接会声明;如找不到原创链接,在此声明如有侵权请联系删除哈。

  • 10
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涤生大数据

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值