Python文件如何读取read()函数

 更新时间:2024年02月07日 09:38:39   作者:NOOB-面具  
这篇文章主要介绍了Python文件如何读取read()函数问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

read()readline()readlines()函数支持以 **r、r+、rb、rb+**四种模式打开的文件。

read()函数

如果文件是以文本模式(非二进制模式)打开的,则 read() 函数会逐个字符进行读取;

反之,如果文件以二进制模式打开,则 read() 函数会逐个字节进行读取。

示例文件

城市列表.txt的文件内容为:

文件所在路径为 C:\Users\Administrator\Desktop\城市列表.txt 的内容如下:

文件编码 utf8

北京市
天津市
重庆市

>>> with open(r'C:\Users\Administrator\Desktop\城市列表.txt',encoding='utf8') as f:
		print(f.read())
	
北京市
天津市
重庆市 
  • 默认是r的模式读取文件
  • 这里以编码utf8格式为例打开文件
  • 如果不设置编码格式会出错
  • read()函数默认读取全部文件内容

如果是二进制的文件内容,read()函数会逐字节读取

>>> with open(r'C:\Users\Administrator\Desktop\城市列表.txt','rb+') as f:
		print(f.read())

	
b'\xe5\x8c\x97\xe4\xba\xac\xe5\xb8\x82\r\n\xe5\xa4\xa9\xe6\xb4\xa5\xe5\xb8\x82\r\n\xe9\x87\x8d\xe5\xba\x86\xe5\xb8\x82'
  • rb+二进制的模式读取文件
  • 城市列表.txt文件中换行符\n也会被读取
  • 二进制不显示换行效果

read()函数可以用size参数指定读取多少字节/字符

>>> with open(r'C:\Users\Administrator\Desktop\城市列表.txt',encoding='utf8') as f:
		print(f.read(2))

	
北京 
  • 上述就是指定读取2个字符

--------如果文件编码为gbk, 有时候不知道文件编码,为了避免打开文件出现UnicodeDecodeError异常,可以用下面的’万能‘方法

>>> with open(r'C:\Users\Administrator\Desktop\城市列表.txt','rb') as f:
		print(f.read().decode('utf8'))

	
北京市

天津市

重庆市
  • 使用decode()解码
  • 文件中地名后面已经有\n换行
  • 但是,结果print打印会又增加一个\n换行
  • ?纳尼

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python 用户登录验证的小例子

    Python 用户登录验证的小例子

    Python 用户登录验证的小例子,需要的朋友可以参考一下
    2013-03-03
  • Python递归函数定义与用法示例

    Python递归函数定义与用法示例

    这篇文章主要介绍了Python递归函数定义与用法,结合具体实例形式分析了Python递归函数的原理、实现技巧与相关注意事项,需要的朋友可以参考下
    2017-06-06
  • python之dlib包安装失败问题及解决

    python之dlib包安装失败问题及解决

    这篇文章主要介绍了python之dlib包安装失败问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 用Python实现换行符转换的脚本的教程

    用Python实现换行符转换的脚本的教程

    这篇文章主要介绍了用Python实现换行符转换的脚本的教程,代码非常简单,包括一个对操作说明的功能的实现,需要的朋友可以参考下
    2015-04-04
  • 解决Tensorflow sess.run导致的内存溢出问题

    解决Tensorflow sess.run导致的内存溢出问题

    今天小编就为大家分享一篇解决Tensorflow sess.run导致的内存溢出问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • pycharm最新免费激活码至2099年(21.3.18亲测可用)

    pycharm最新免费激活码至2099年(21.3.18亲测可用)

    这篇文章主要介绍了pycharm最新的激活码及激活码的使用方法,帮助大家更好的利用pycharm学习python,感兴趣的朋友可以了解下。
    2021-03-03
  • Python中使用kitti数据集实现自动驾驶(绘制出所有物体的行驶轨迹)

    Python中使用kitti数据集实现自动驾驶(绘制出所有物体的行驶轨迹)

    这篇文章主要介绍了Python中使用kitti数据集实现自动驾驶——绘制出所有物体的行驶轨迹,本次内容主要是画出kitti车的行驶的轨迹,需要的朋友可以参考下
    2022-06-06
  • Python中SQLite数据库的使用

    Python中SQLite数据库的使用

    SQLite是一种轻型关系型数据库,常用于嵌入式设备和移动应用中。Python中内置了SQLite模块,可用于连接和操作SQLite数据库。通过Python SQLite模块,可以方便地创建、查询和修改数据库中的数据,支持事务处理和数据库操作的原子性保证
    2023-04-04
  • PyTorch中Tensor的维度变换实现

    PyTorch中Tensor的维度变换实现

    这篇文章主要介绍了PyTorch中Tensor的维度变换实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • PyInstaller如何打包依赖文件至目标程序目录

    PyInstaller如何打包依赖文件至目标程序目录

    这篇文章主要介绍了PyInstaller如何打包依赖文件至目标程序目录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02

最新评论