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获取CPU、内存和硬盘等windowns系统信息的2个例子
Apr 15 Python
Python Deque 模块使用详解
Jul 04 Python
python二分查找算法的递归实现方法
May 12 Python
python3.4用函数操作mysql5.7数据库
Jun 23 Python
简单谈谈Python中的json与pickle
Jul 19 Python
Python实现在某个数组中查找一个值的算法示例
Jun 27 Python
python获取微信企业号打卡数据并生成windows计划任务
Apr 30 Python
Python解压 rar、zip、tar文件的方法
Nov 19 Python
python3实现用turtle模块画一棵随机樱花树
Nov 21 Python
Python Scrapy框架:通用爬虫之CrawlSpider用法简单示例
Apr 11 Python
如何快速一次性卸载所有python包(第三方库)呢
Oct 20 Python
Django rest framework如何自定义用户表
Jun 09 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
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
基于jQuery的淡入淡出可自动切换的幻灯插件打包下载
2010/09/15 Javascript
Three.js源码阅读笔记(物体是如何组织的)
2012/12/27 Javascript
Jquery实现自定义弹窗示例
2014/03/12 Javascript
Backbone.js中的集合详解
2015/01/14 Javascript
jQuery Mobile页面返回不需要重新get
2016/04/26 Javascript
详解PHP中pathinfo()函数导致的安全问题
2017/01/05 Javascript
基于jQuery插件jqzoom实现的图片放大镜效果示例
2017/01/23 Javascript
zTree实现节点修改的实时刷新功能
2017/03/20 Javascript
vue-cli+webpack在生成的项目中使用bootstrap实例代码
2017/05/26 Javascript
Vue.js列表渲染绑定jQuery插件的正确姿势
2017/06/29 jQuery
Angularjs按需查询实例代码
2017/10/30 Javascript
JavaScript console的使用方法实例分析
2020/04/28 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
2020/05/01 Javascript
jQuery实时统计输入框字数及限制
2020/06/24 jQuery
原生js实现购物车功能
2020/09/23 Javascript
Python的subprocess模块总结
2014/11/07 Python
Python访问MySQL封装的常用类实例
2014/11/11 Python
探究数组排序提升Python程序的循环的运行效率的原因
2015/04/01 Python
使用Python脚本来控制Windows Azure的简单教程
2015/04/16 Python
python3如何将docx转换成pdf文件
2018/03/23 Python
python关闭占用端口方式
2019/12/17 Python
python实现画图工具
2020/08/27 Python
如何基于python实现年会抽奖工具
2020/10/20 Python
详解CSS3中强大的filter(滤镜)属性
2017/06/29 HTML / CSS
Clarks鞋美国官网:全球领军鞋履品牌
2017/05/13 全球购物
linux面试题参考答案(10)
2016/10/26 面试题
软件测试英文面试题
2012/10/14 面试题
大学生如何写自荐信
2014/01/08 职场文书
高中生家长会演讲稿
2014/01/14 职场文书
保险公司早会主持词
2014/03/22 职场文书
2015年消防工作总结
2015/04/24 职场文书
学校节水倡议书
2015/04/29 职场文书
python如何在word中存储本地图片
2021/04/07 Python
vue-element-admin项目导入和导出的实现
2021/05/21 Vue.js
详解TypeScript的基础类型
2022/02/18 Javascript