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六大开源框架对比
Oct 19 Python
python文件操作相关知识点总结整理
Feb 22 Python
flask中的wtforms使用方法
Jul 21 Python
Linux系统(CentOS)下python2.7.10安装
Sep 26 Python
基于python实现KNN分类算法
Apr 23 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
Apr 12 Python
Python hashlib加密模块常用方法解析
Dec 18 Python
tensorflow之自定义神经网络层实例
Feb 07 Python
pycharm快捷键汇总
Feb 14 Python
Python叠加矩形框图层2种方法及效果
Jun 18 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
Nov 24 Python
Python matplotlib安装以及实现简单曲线的绘制
Apr 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
PHP COOKIE设置为浏览器进程
2009/06/21 PHP
php 无法载入mysql扩展
2010/03/12 PHP
探讨:php中在foreach中使用foreach ($arr as &$value) 这种类型的解释
2013/06/24 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
js checkbox(复选框) 使用集锦
2009/04/28 Javascript
javascript下数值型比较难点说明
2010/06/07 Javascript
js substr、substring和slice使用说明小记
2011/09/15 Javascript
suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)
2011/12/20 Javascript
node.js中的socket.io入门实例
2014/04/26 Javascript
css与javascript跨浏览器兼容性总结
2014/09/15 Javascript
jQuery+PHP打造滑动开关效果
2014/12/16 Javascript
javascript实现复选框全选或反选
2017/02/04 Javascript
微信小程序仿微信运动步数排行(交互)
2018/07/13 Javascript
vue实现PC端分辨率适配操作
2020/08/03 Javascript
React冒泡和阻止冒泡的应用详解
2020/08/18 Javascript
使用Typescript开发微信小程序的步骤详解
2021/01/12 Javascript
[01:19:34]2014 DOTA2国际邀请赛中国区预选赛 New Element VS Dream time
2014/05/22 DOTA
详解Python中的文件操作
2016/08/28 Python
Python计时相关操作详解【time,datetime】
2017/05/26 Python
Python实现爬虫爬取NBA数据功能示例
2018/05/28 Python
python实现桌面壁纸切换功能
2019/01/21 Python
详解PyCharm+QTDesigner+PyUIC使用教程
2019/06/13 Python
Python获取时间戳代码实例
2019/09/24 Python
Python 远程开关机的方法
2020/11/18 Python
如何用 Python 处理不平衡数据集
2021/01/04 Python
CSS3中媒体查询结合rem布局适配手机屏幕
2019/06/10 HTML / CSS
检测浏览器对HTML5和CSS3支持度的方法
2015/06/25 HTML / CSS
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/09/18 面试题
美德少年事迹材料
2014/01/23 职场文书
函授药学自我鉴定
2014/02/07 职场文书
党支部活动策划方案
2014/08/18 职场文书
平面设计师岗位职责
2014/09/18 职场文书
丧事主持词
2015/07/02 职场文书
关于运动会的宣传稿
2015/07/23 职场文书
Python中文分词库jieba(结巴分词)详细使用介绍
2022/04/07 Python
vue里使用create, mounted调用方法
2022/04/26 Vue.js