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通过smpt发送邮件的方法
Apr 30 Python
简介Python设计模式中的代理模式与模板方法模式编程
Feb 02 Python
python实现堆和索引堆的代码示例
Mar 19 Python
基于python神经卷积网络的人脸识别
May 24 Python
Python实现的生产者、消费者问题完整实例
May 30 Python
idea创建springMVC框架和配置小文件的教程图解
Sep 18 Python
Python第三方库face_recognition在windows上的安装过程
May 03 Python
pybind11在Windows下的使用教程
Jul 04 Python
Python爬虫学习之翻译小程序
Jul 30 Python
Python如何使用ElementTree解析xml
Oct 12 Python
Django框架请求生命周期实现原理
Nov 13 Python
Python实现学生管理系统并生成exe可执行文件详解流程
Jan 22 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设计模式 Adapter(适配器模式)
2011/06/26 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
2020/10/01 PHP
PHP的PDO常用类库实例分析
2016/04/07 PHP
php获取开始与结束日期之间所有日期的方法
2016/11/29 PHP
thinkphp实现分页显示功能
2016/12/03 PHP
PHP使用Http Post请求发送Json对象数据代码解析
2020/07/16 PHP
JS 控制非法字符的输入代码
2009/12/04 Javascript
FusionCharts图表显示双Y轴双(多)曲线
2012/11/22 Javascript
让table变成exls的示例代码
2014/03/24 Javascript
javascript图片预加载完整实例
2015/12/10 Javascript
详解js图片轮播效果实现原理
2015/12/17 Javascript
js下将金额数字每三位一逗号分隔
2016/02/19 Javascript
JavaScript reduce和reduceRight详解
2016/10/24 Javascript
vue分类筛选filter方法简单实例
2017/03/30 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
2017/04/11 Javascript
JS库 Highlightjs 添加代码行号的实现代码
2017/09/13 Javascript
动态创建Angular组件实现popup弹窗功能
2017/09/15 Javascript
Bootstrap table中toolbar新增条件查询及refresh参数使用方法
2018/05/18 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
深入理解react-router 路由的实现原理
2018/09/26 Javascript
vue+elementUI组件table实现前端分页功能
2020/11/15 Javascript
利用Python的Django框架生成PDF文件的教程
2015/07/22 Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
2017/11/08 Python
python实现kMeans算法
2017/12/21 Python
Python对数据进行插值和下采样的方法
2018/07/03 Python
python输出决策树图形的例子
2019/08/09 Python
Python 爬虫实现增加播客访问量的方法实现
2019/10/31 Python
Wedgwood美国官网:英国骨瓷,精美礼品及家居装饰
2018/02/17 全球购物
.NET面试题:什么是反射
2016/09/30 面试题
2014领导班子四风问题对照检查材料思想汇报
2014/09/21 职场文书
党员批评与自我批评(5篇)
2014/09/23 职场文书
教师党的群众路线学习心得体会
2014/11/04 职场文书
钱塘江大潮导游词
2015/02/03 职场文书
导游词300字
2015/02/13 职场文书
2015年信息宣传工作总结
2015/05/26 职场文书
mysql insert 存在即不插入语法说明
2022/03/25 MySQL