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

建立一个test1.txt文件,

  1. aaaa
  2. bbbb

1.在utf8方式下读取

读取四个字符

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

打印结果;

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

读取五个字符

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

打印结果;

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

2.在rb模式下读取

没有对换行进行转换

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

打印结果:

  1. 1 b'aaaa\r'
  2. 2 5

读取6个

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

3.readlines()读取更加明了

  1. 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. flink 版本

    从1.10.0开始,flink版本是一个分界线,所以如果用>1.10版本的特性,一些flink引用可以从1.10官网文档中查 后面版本中没有这些说明了. flink代码文档地址:https:// ...

  2. ubuntu - 程序运行的一些基础知识

    1.指定编码格式 -finput-charset=GB2312 指定 C 程序的编码方式为 GB2312,不指定时默认编码方式为 UTF-8 -fexec-charset=GB2312 指定 可执行程 ...

  3. reids哨兵机制

    宏观上的哨兵机制 监控:哨兵不断的检查master和slave是否正常的运行. 通知:当监控的某台Redis实例发生问题时,可以通过API通知系统管理员和其他的应用程序. 自动故障转移:如果一个mas ...

  4. 前端vue的JsPDF html2canvas 生成pdf并以文件流形式上传到后端(转载)

    原文地址 1.首先在文件内引入htmlToPdf.js这里代码引入了html2canvas和jspdf//需要 npm i html2Canvas 和 npm i jspdf 在这里将getPdf 这 ...

  5. vuex状态管理器

    vuex核心概念 // vuex中一共有五个状态 State Getter Mutation Action Module import Vue from 'vue' import Vuex from ...

  6. git将自己分支上忽略已修改但不需要的提交的文件

    一:在idea上把需要提交的文件勾选上提交 二:git stash命令将余下被修改的文件存入(隐藏)暂存区 git stash 三:切换master分支合并上述分支 四:合并后再返回上述分支,git ...

  7. wmi和wmic

    https://baike.baidu.com/item/Windows%20Management%20Instrumentation/572501?fromtitle=WMI&fromid= ...

  8. 普通java项目打成jar包,引入第三方jar .

    ja方法1 .  MANIFEST.MF 中添加  Class-Path . 1.  项目src目录下创建  META-INF/MANIFEST.MF 文件.文件内容 Manifest-Version ...

  9. C语言 数据编码方式

    一.整形数据类型 1.无符号数的编码 无符号数指的是整个机器字长的全部位数均表示数值位. 我们用函数      来进行运算.(B2U是Binary to Unsigned的缩写,长度为w),x代表为0 ...

  10. Android EditText的onEditorAction监听事件防止执行两次

    Android的EditText通过setOnEditorActionListener给文本编辑框设置监听事件,但是在其处理方法onEditorAction中的逻辑在每次回车后都触发了两次,这是因为在 ...