Python在非二进制形式读取文件时,自动把\r\n换成\n.(window下换行是\r\n)

建立一个test1.txt文件,

aaaa
bbbb

1.在utf8方式下读取

读取四个字符

1 f=open('test1.txt','r',encoding='utf-8')
2 l1=f.read(4)
3 print(l1)
4 l=f.tell()
5 print(l)
6 f.close()

打印结果;

1 aaaa     #读取四个字符
2 4 #光标移动四个字节

读取五个字符

1 f=open('test1.txt','r',encoding='utf-8')
2 l1=f.read(5) #无论read()还是readline()以及readlines()都一样
3 print(l1)
4 l=f.tell()
5 print(l)
6 f.close()

打印结果;

1 aaaa
2
3 6 #从这里可以看出光标移动了6个字节,Python默认把\r\n两个字符换成一个字符,也可以看出在碰到回车符时又往下读取了一个

2.在rb模式下读取

没有对换行进行转换

1 f=open('test1.txt','rb')
2 l1=f.read(5)
3 print(l1)
4 l=f.tell()
5 print(l)
6 f.close()

打印结果:

1 b'aaaa\r'
2 5

读取6个

1 f=open('test1.txt','rb')
2 l1=f.read(6)
3 print(l1)
4 l=f.tell()
5 print(l)
6 f.close()
1 b'aaaa\r\n'
2 6

3.readlines()读取更加明了

f=open('test1.txt','r',encoding='utf-8')
l1=f.readlines()
print(l1)
l=f.tell()
print(l)
f.close()

运行结果:

['aaaa\n', 'bbbb']
10

关于Python文件读取时,默认把\r\n换成\n的更多相关文章

  1. Python文件读取和数据处理

    一.python文件读取 1.基本操作 读取文件信息时要注意文件编码,文件编码有UFT-8.ASCII或UTF-16等. 不过在python中最为常用的是UTF-8,所以如果不特别说明就默认UTF-8 ...

  2. python文件读取和写入案例

    python文件读取和写入案例  直接上代码吧 都是说明 百度上找了很多,最终得出思路 没有直接可以读取修改的扩展,只能先读取,然后复制一份,然后在复制出来的文件里面追加保存 然后删除读的那个,但是缺 ...

  3. Python——文件读取

    我们经常需要从文件中读取数据,因此学会文件的读取很重要,下面来介绍一下文件的读取工作:     1.读取整个文件     pi_digits.text 3.1415926535 8979323846 ...

  4. python 文件读写时用open还是codecs.open

    当我面有数据需要保存时,第一时间一般会想到写到一个txt文件中,当然,数据量比较大的时候还是写到数据库比较方便管理,需要进行网络传输时要序列化,json化.下面主要整理一下平时用的最多的写入到文件中, ...

  5. python文件命名时的注意点

    在python中读取Excal文件,需要引用xlrd模块,因此建的这个python文件名为xlrd.py 部分代码如下: import xlrd import os newpath = os.chdi ...

  6. Python 文件读取

    1. 最基本的读文件方法: # File: readline-example-1.py file = open("sample.txt") while 1: line = file ...

  7. python 文件读写with open模式r,r+,w,w+,a,a+的区别

    模式 可做操作 若文件不存在 是否覆盖 r 只能读 报错 - r+ 可读可写 报错 是 w 只能写 创建 是 w+ 可读可写 创建 是 a 只能写 创建 否,追加写 a+ 可读可写 创建 否,追加写

  8. Python文件读取编码错误问题解决之(PyCharm开发工具默认设置的坑。。。)

    刚接触Python学习,正准备做个爬虫的例子,谁知道代码一开始就遇到了一个大坑,狂汗啊. 问题是这样的:我通过代码爬取了博客园首页的HTML代码并存入到blog.txt文件当中,然后准备读取出来之后进 ...

  9. Python文件读取常用方法

    1. 关于读取文件 f.read() 读取文件中所有内容 f.readline() 读取第一行的内容 f.readlines() 读取文件里面所有内容,把每行的内容放到一个list里面 注:因为文件指 ...

  10. 初识python 文件读取 保存

    上一章最后一题的答案:infors.sort(key=lambda x:x['age'])print(infors)--->[{'name': 'laowang', 'age': 23}, {' ...

随机推荐

  1. 兼容ie8的Html+Css+Js

    1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset=" ...

  2. git(后悔药)版本回退

    版本回退 查看提交记录 git log remotes/origin/test --pretty=oneline (建议获取远程日志记录,防止本地没有更新到最新版本) 如果本地是最新版本可以使用:gi ...

  3. ubuntu-wireshark打开出现错误的问题

    The capture session could not be initiated on interface 'enp2s0' (You don't have permission to captu ...

  4. 强烈推荐的elasticsearch集群连接工具: elasticvue

    个人感觉非常棒的es-cluster连接工具, 检查状态什么的, 一目了然, 支持中文超方便, 比elasticSearchHead好用多了. 安装方法打开微软浏览器edge-商城搜索-Elastic ...

  5. CocosCreator基于jenkins自动构建

    1.新建Item,输入名称后选择Freestyle project后点击确定 2.配置项目,自定义工作目录 3.配置源码管理和要摘取的分支 4.构建触发器选择github触发 5.构建选择执行wind ...

  6. K8S中pod和container的资源管理:CPU和Memory

    K8S中创建pod时,可以显示地指明包含的container的资源需求(resouce request和resource limit),通常是CPU和Memory(RAM). kube-schedul ...

  7. 物料Classification 分类系统

    作用:可以追加物料的属性,因为在物料主界面字段是有限的,并且并不是符合所有企业的业务,可以使用追加属性的方式给物料添加各式各样的属性 1.创建特性,Tcode:CT04 2.创建分类 Tcode:CL ...

  8. 89、des加密算法

    import javax.crypto.Cipher; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpe ...

  9. Mysql数据库基础第二章:(五)分组查询

    Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...

  10. vue 移动端px转rem

    1.安装lib-flexible 终端执行命令:npm i lib-flexible --save 2.在main.js引入lib-flexible 3.终端执行命令:npm install post ...