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 fabric实现远程操作和部署示例
Mar 25 Python
Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法
Mar 05 Python
Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
Apr 24 Python
Python实现按照指定要求逆序输出一个数字的方法
Apr 19 Python
PyQt5每天必学之切换按钮
Aug 20 Python
flask框架使用orm连接数据库的方法示例
Jul 16 Python
Python批量生成幻影坦克图片实例代码
Jun 04 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
Jan 21 Python
Python 自由定制表格的实现示例
Mar 20 Python
tensorflow2.0的函数签名与图结构(推荐)
Apr 28 Python
python 多线程死锁问题的解决方案
Aug 25 Python
使用OpenCV校准鱼眼镜头的方法
Nov 26 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
把从SQL中取出的数据转化成XMl格式
2006/10/09 PHP
默默简单的写了一个模板引擎
2007/01/02 PHP
getJSON跨域SyntaxError问题分析
2014/08/07 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
phpStudy vscode 搭建debug调试的教程详解
2020/07/28 PHP
javascript引用对象的方法代码
2007/08/13 Javascript
javascript 主动派发事件总结
2011/08/09 Javascript
jquery无缝向上滚动实现代码
2013/03/29 Javascript
JavaScript中的无阻塞加载性能优化方案
2014/10/10 Javascript
CascadeView级联组件实现思路详解(分离思想和单链表)
2016/04/12 Javascript
parabola.js抛物线与加入购物车效果的示例代码
2017/10/25 Javascript
Vue数据绑定简析小结
2019/05/07 Javascript
小程序选项卡以及swiper套用(跨页面)
2020/06/19 Javascript
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
对python使用http、https代理的实例讲解
2018/05/07 Python
Python实现图片转字符画的代码实例
2019/02/22 Python
Python 日志logging模块用法简单示例
2019/10/18 Python
Python从列表推导到zip()函数的5种技巧总结
2019/10/23 Python
使用pandas的box_plot去除异常值
2019/12/10 Python
浅谈tensorflow 中的图片读取和裁剪方式
2020/06/30 Python
获取CSDN文章内容并转换为markdown文本的python
2020/09/06 Python
python基于opencv 实现图像时钟
2021/01/04 Python
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
天美时手表加拿大官网:Timex加拿大
2016/09/01 全球购物
Andrew Marc官网:设计师外套的领先制造商
2019/10/30 全球购物
超市营业员岗位职责
2013/12/20 职场文书
汽车装潢店创业计划书范文
2014/02/05 职场文书
秘书英文求职信
2014/04/16 职场文书
竞选卫生委员演讲稿
2014/04/28 职场文书
省级优秀班集体申报材料
2014/05/25 职场文书
影子教师研修方案
2014/06/14 职场文书
2014年城管工作总结
2014/11/20 职场文书
2015廉洁自律个人总结
2015/02/14 职场文书
《作风建设永远在路上》心得体会
2016/01/21 职场文书
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL
Golang 实现WebSockets
2022/04/24 Golang