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新手实现2048小游戏
Mar 31 Python
python将文本转换成图片输出的方法
Apr 28 Python
python实现的简单抽奖系统实例
May 22 Python
pytorch + visdom CNN处理自建图片数据集的方法
Jun 04 Python
对python pandas读取剪贴板内容的方法详解
Jan 24 Python
python中open函数的基本用法示例
Sep 07 Python
python集合的创建、添加及删除操作示例
Oct 08 Python
通过实例解析Python调用json模块
Dec 11 Python
keras slice layer 层实现方式
Jun 11 Python
Python监听键盘和鼠标事件的示例代码
Nov 18 Python
python 实现两个变量值进行交换的n种操作
Jun 02 Python
Python道路车道线检测的实现
Jun 27 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 正则表达式小结
2009/08/31 PHP
php中echo()和print()、require()和include()等易混淆函数的区别
2012/02/22 PHP
PHP中防止SQL注入方法详解
2014/12/25 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
Laravel统计一段时间间隔的数据方法
2019/10/09 PHP
javascript插入样式实现代码
2012/02/22 Javascript
jquery清空textarea等输入框实现代码
2013/04/22 Javascript
JS定时器实例详细分析
2013/10/11 Javascript
javascript在子页面中函数无法调试问题解决方法
2014/01/17 Javascript
文本域光标操作的jQuery扩展分享
2014/03/10 Javascript
JS 打印功能代码可实现打印预览、打印设置等
2014/10/31 Javascript
使用Object.defineProperty实现简单的js双向绑定
2016/04/15 Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
2016/05/23 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
2016/08/05 Javascript
bootstrap使用validate实现简单校验功能
2016/12/02 Javascript
xmlplus组件设计系列之列表(4)
2017/04/26 Javascript
ES6学习笔记之map、set与数组、对象的对比
2018/03/01 Javascript
详解angular2如何手动点击特定元素上的点击事件
2018/10/16 Javascript
JavaScript如何实现元素全排列实例代码
2019/05/14 Javascript
VUE渲染后端返回含有script标签的html字符串示例
2019/10/28 Javascript
python根据路径导入模块的方法
2014/09/30 Python
Python之list对应元素求和的方法
2018/06/28 Python
解决python中使用plot画图,图不显示的问题
2018/07/04 Python
解决python打不开文件(文件不存在)的问题
2019/02/18 Python
Windows系统Python直接调用C++ DLL的方法
2019/08/01 Python
python实现滑雪游戏
2020/02/22 Python
css3个性化字体_动力节点Java学院整理
2017/07/12 HTML / CSS
医生自荐信
2013/10/11 职场文书
计算机专业优秀大学生自我总结
2014/01/21 职场文书
学雷锋倡议书
2015/01/19 职场文书
机关工会工作总结2015
2015/05/26 职场文书
高中体育课教学反思
2016/02/16 职场文书
Django操作cookie的实现
2021/05/26 Python
python代码实现扫码关注公众号登录的实战
2021/11/01 Python
唤醒紫霞仙子,携手再游三界!大话手游X《大话西游》电影合作专属剧情任务
2022/04/03 其他游戏
python turtle绘图
2022/05/04 Python