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 15 Python
Python调用命令行进度条的方法
May 05 Python
同时安装Python2 & Python3 cmd下版本自由选择的方法
Dec 09 Python
python实现教务管理系统
Mar 12 Python
python实现简易数码时钟
Feb 19 Python
Python实现八皇后问题示例代码
Dec 09 Python
python实现机器人卡牌
Oct 06 Python
如何解决django-celery启动后迅速关闭
Oct 16 Python
Python程序控制语句用法实例分析
Jan 14 Python
python调用API接口实现登陆短信验证
May 10 Python
Python 如何定义匿名或内联函数
Aug 01 Python
Python如何截图保存的三种方法(小结)
Sep 01 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
DC最新动画电影:《战争之子》为何内容偏激,毁了一个不错的漫画
2020/04/09 欧美动漫
ajax php传递和接收变量实现思路及代码
2012/12/19 PHP
永不消失的title提示代码
2007/02/15 Javascript
JavaScript实现网页上的浮动广告的简单方法
2013/06/14 Javascript
解析Jquery的LigerUI如何实现文件上传
2013/07/09 Javascript
jquery 跳到顶部和底部动画2句代码简单实现
2013/07/18 Javascript
jquery队列函数用法实例
2014/12/16 Javascript
JS实现模拟风力的雪花飘落效果
2015/05/13 Javascript
跟我学习javascript的this关键字
2020/05/28 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
JavaScript生成.xls文件的代码
2016/12/22 Javascript
jQuery UI仿淘宝搜索下拉列表功能
2017/01/10 Javascript
Bootstrap 网格系统布局详解
2017/03/19 Javascript
JavaScript事件冒泡与事件捕获实例分析
2018/08/01 Javascript
Element实现表格分页数据选择+全选所有完善批量操作
2019/06/07 Javascript
layui button 按钮弹出提示窗口,确定才进行的方法
2019/09/06 Javascript
python多线程threading.Lock锁用法实例
2014/11/01 Python
Python文件和目录操作详解
2015/02/08 Python
python用来获得图片exif信息的库实例分析
2015/03/16 Python
Python for Informatics 第11章之正则表达式(四)
2016/04/21 Python
python实现随机森林random forest的原理及方法
2017/12/21 Python
使用Python为中秋节绘制一块美味的月饼
2019/09/11 Python
解决Django中checkbox复选框的传值问题
2020/03/31 Python
Python爬虫之Selenium设置元素等待的方法
2020/12/04 Python
CSS3轻松实现圆角效果
2017/11/09 HTML / CSS
一款简洁的纯css3代码实现的动画导航
2014/10/31 HTML / CSS
CSMA/CD介质访问控制协议
2015/11/17 面试题
经济系大学生求职信
2013/10/01 职场文书
四年的个人工作自我评价
2013/12/10 职场文书
医药专业应届毕业生求职信范文
2014/01/01 职场文书
杜甫草堂导游词
2015/02/03 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
2015年国庆节演讲稿范文
2015/07/30 职场文书
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
2021/05/27 Python
js 数组 fill() 填充方法
2021/11/02 Javascript