python文件读写代码实例


Posted in Python onOctober 21, 2019

实验室导师又有任务,从一个.dat文件中读取波形数据,通过一个自编码网络进行异常检测。可是对我这种小白来说真的艰难。从最基础的文件读写开始吧。

先说数据,是一个int16型的数组。说是数组,但是读取也并不简单。众所周知,数据在计算机中是用二进制的形式储存的。int16型有符号整数。16位,16bit,也就是两个字节。那么自然而然的想到,读取两个字节(bytes)的数据(也就是16bit),然后把它转化成int16的整型(即十进制整型)。数据就变得可以处理了。

先放一个不同位数的整型数据范围吧,经常会用的到。

  • Int8 //等于byte,-128 127
  • Int16 //等于short, 占2个字节. -32768 32767
  • Int32 //等于int, 占4个字节. -2147483648 2147483647
  • Int64 //等于long, 占8个字节. -9223372036854775808 9223372036854775807

这里补充一个小知识点,python3中的int类型是动态长度的,是长整型,理论支持无限大的数字。对一个int型实例运行内建的__sizeof__方法,可以查看占用的字节数。其中0占了24个字节,其他数字一般占用28个字节。

读文件:文本文件

>>> f = open('/Users/michael/test.txt', 'r')

我们知道,在python3中,字符串类型(str)包含的是Unicode characters。这种特性使得我们在python3中可以定义包含Unicode character的字符串,并甚至可以在变量标识符中使用非ASCII字符。

那么以上的代码做的是这样一件事:定义一个文件对象,文件对象标明将用读字符的手段来读取这个文件中的内容。

>>> f.read()
'Hello, world!'

上面的代码一次性读取文件的全部内容,把内容读到内存,用str对象表示。

此外还可以调用read(size),每次读取size个字节的内容。或者调用readline(),每次读取一行内容。将每一行的内容存在str里,并返回一个str的列表。

为了保证文件被关闭,可以使用with关键词:

with open('/path/to/file', 'r') as f:
  print(f.read()

读取非UTF-8编码的文本文件,需要给open()函数传入encoding参数,例如,读取GBK编码的文件:

>>> f = open('/Users/michael/gbk.txt', 'r', encoding='gbk')
>>> f.read()
'测试'

二进制文件:

如果要读取二进制文件,用rb模式打开文件即可。

>>> f = open('/Users/michael/test.jpg', 'rb')
>>> f.read()
b'\xff\xd8\xff\xe1\x00\x18Exif\x00\x00...' # 十六进制表示的字节

写文件:

写文件和读文件是一样的,调用open()函数时,传入'w'或者'wb'表示写文本文件或者写二进制文件。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
零基础写python爬虫之抓取百度贴吧代码分享
Nov 06 Python
举例讲解Python中的算数运算符的用法
May 13 Python
浅析Python中将单词首字母大写的capitalize()方法
May 18 Python
Python出现segfault错误解决方法
Apr 16 Python
从局部变量和全局变量开始全面解析Python中变量的作用域
Jun 16 Python
实例讲解Python编程中@property装饰器的用法
Jun 20 Python
Python常见内置高效率函数用法示例
Jul 31 Python
Python中应该使用%还是format来格式化字符串
Sep 25 Python
Python过滤txt文件内重复内容的方法
Oct 21 Python
PyQt5笔记之弹出窗口大全
Jun 20 Python
Python列表元素删除和remove()方法详解
Jan 04 Python
python 如何用urllib与服务端交互(发送和接收数据)
Mar 04 Python
python 动态调用函数实例解析
Oct 21 #Python
python 两个数据库postgresql对比
Oct 21 #Python
python多进程(加入进程池)操作常见案例
Oct 21 #Python
Python实现字符串中某个字母的替代功能
Oct 21 #Python
基于Python实现船舶的MMSI的获取(推荐)
Oct 21 #Python
基于Python解密仿射密码
Oct 21 #Python
python多继承(钻石继承)问题和解决方法简单示例
Oct 21 #Python
You might like
php文件下载处理方法分析
2015/04/22 PHP
解决 FireFox 下[使用event很麻烦] 的问题.
2006/08/22 Javascript
javascript检查日期格式的函数[比较全]
2008/10/17 Javascript
JavaScript 权威指南(第四版) 读书笔记
2009/08/11 Javascript
javascript+iframe 实现无刷新载入整页的代码
2010/03/17 Javascript
ext combobox动态加载数据库数据(附前后台)
2014/06/17 Javascript
javascript实现客户端兼容各浏览器创建csv并下载的方法
2015/03/23 Javascript
通用javascript代码判断版本号是否在版本范围之间
2015/11/29 Javascript
JQuery日历插件My97DatePicker日期范围限制
2016/01/20 Javascript
jQuery实现图片向左向右切换效果的简单实例
2016/05/18 Javascript
JS简单获取及显示当前时间的方法
2016/08/03 Javascript
JavaScript轮播图简单制作方法
2017/02/20 Javascript
Node调用Java的示例代码
2017/09/20 Javascript
Javascript Promise用法详解
2018/05/10 Javascript
JS选取DOM元素常见操作方法实例分析
2018/12/10 Javascript
js实现图片推拉门效果代码实例
2019/05/18 Javascript
webpack自动打包和热更新的实现方法
2019/06/24 Javascript
微信小程序通过一个json实现分享朋友圈图片
2019/09/03 Javascript
layer.open组件获取弹出层页面变量、函数的实例
2019/09/25 Javascript
Python操作SQLite数据库的方法详解
2017/06/16 Python
分享Pycharm中一些不为人知的技巧
2018/04/03 Python
pandas获取groupby分组里最大值所在的行方法
2018/04/20 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
2018/05/18 Python
PyTorch在Windows环境搭建的方法步骤
2020/05/12 Python
葡萄牙鞋子品牌:Fair
2016/12/10 全球购物
澳大利亚时尚前卫设计师珠宝在线:Amber Sceats
2017/10/04 全球购物
俄罗斯游戏商店:Buka
2020/03/01 全球购物
迎元旦广播稿
2014/02/22 职场文书
活动总结模板
2014/05/09 职场文书
个人反四风对照检查材料思想汇报
2014/09/23 职场文书
银行柜员与客户起冲突检讨书
2014/09/27 职场文书
库房管理员岗位职责
2015/02/12 职场文书
2015年全国爱眼日活动小结
2015/02/27 职场文书
社区扶贫帮困工作总结
2015/05/20 职场文书
selenium.webdriver中add_argument方法常用参数表
2021/04/08 Python
OpenCV实现反阈值二值化
2021/11/17 Java/Android