博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
读取txt文件出现出现多余空行问题
阅读量:4216 次
发布时间:2019-05-26

本文共 885 字,大约阅读时间需要 2 分钟。

0 前言

昨天写一个简单的爬虫,批量读取txt文本的每行url,然后传到requests.get去解析,可是一个神奇的bug出现了,不管我怎么修改总是出现bug,原理上,应该没什么问题,所以一步步的查错,最终终于发现读取txt时出现错误,哎,学艺不精,花了不少时间。因此要纪念下这个小知识点。

1 正文

1.1 原理

文件中每行末尾会有一个隐藏的换行符“\n”,读取的时候“\n” 就会被解析出来换成行,然而我们并没有发现。一个很好的验证方法时用print(),可以直观的发现有空行产生。

1.2 小实验验证一波

txt文本内容

111.txt111111122222333333444444555555666666

直接打印 

for line in open("111.txt", encoding='utf-8').readlines():    url = line    #url = line.rstrip()  # 去掉末尾隐藏的\n,避免出现空行。    print(url)

结果,会发现有空行,让人头疼。

111111122222333333444444555555666666

1.3 解决方法

python自带.strip()和.rstrip()

  • .strip()的意思是消除字符串整体的指定字符
  • .rstrip()的意思是消除字符串末尾的指定字符

括号里什么都不写,默认消除空格和换行符

验证:

for line in open("111.txt", encoding='utf-8').readlines():    #url = line    url = line.rstrip()  # 去掉末尾隐藏的\n,避免出现空行。    print(url)

打印结果:一对比就发现了区别。

111111122222333333444444555555666666

2 总结

虽说是一个这是个很小知识点,正如,牙疼不是病,疼起来要人命。积累一点,让自己舒服些。

再次:strip与rstrip两个函数是消除指定字符,默认消除空格与换行。

3 参考

               

转载地址:http://ettmi.baihongyu.com/

你可能感兴趣的文章
C# throw new Exception的使用
查看>>
C# 重构中遇到的问题
查看>>
ASP报表分页设置
查看>>
C# 机房重构-职责链模式 上机
查看>>
动态规划求解‘货币兑付问题’
查看>>
MVC学习笔记
查看>>
MVC基础知识
查看>>
MVC基础知识(二)
查看>>
【自考】数据结构
查看>>
委托和Lambda表达式
查看>>
EF的基本了解(一)
查看>>
sql语句插入一条记录同时获取刚插入的id
查看>>
Mini Story 总结
查看>>
苹果手机页面不兼容问题——mui
查看>>
口语大神养成记—第一季
查看>>
Java基础
查看>>
编译原理
查看>>
流水线技术
查看>>
软考-计算机网络
查看>>
半年总结
查看>>