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检测QQ在线状态的方法
May 09 Python
利用python实现简单的邮件发送客户端示例
Dec 23 Python
Python基于dom操作xml数据的方法示例
May 12 Python
Django+Xadmin构建项目的方法步骤
Mar 06 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
Jun 13 Python
python全栈知识点总结
Jul 01 Python
Django中使用CORS实现跨域请求过程解析
Aug 05 Python
使用tensorflow实现矩阵分解方式
Feb 07 Python
keras读取训练好的模型参数并把参数赋值给其它模型详解
Jun 15 Python
使用Python文件读写,自定义分隔符(custom delimiter)
Jul 05 Python
六种酷炫Python运行进度条效果的实现代码
Jul 17 Python
Python爬取酷狗MP3音频的步骤
Feb 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目录遍历函数opendir用法实例
2014/11/20 PHP
php获取CSS文件中图片地址并下载到本地的方法
2014/12/02 PHP
javascript String 对象
2008/04/25 Javascript
javascript StringBuilder类实现
2008/12/22 Javascript
JS 强制设为首页的代码
2009/01/31 Javascript
javascript 二进制运算技巧解析
2012/11/27 Javascript
jquery弹出框的用法示例(2)
2013/08/26 Javascript
网页右下角弹出窗体实现代码
2014/06/05 Javascript
JavaScript通过元素的ID和name设置样式
2014/07/08 Javascript
深入分析原生JavaScript事件
2014/12/29 Javascript
jquery实现submit提交表单
2015/02/03 Javascript
JavaScript模拟深蓝vs卡斯帕罗夫的国际象棋对局示例
2015/04/22 Javascript
JS实现点击上移下移LI行数据的方法
2015/08/05 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
ES2020让代码更优美的运算符 (?.) (??)
2021/01/04 Javascript
[49:29]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python通过zlib实现压缩与解压字符串的方法
2014/11/19 Python
Python中的map()函数和reduce()函数的用法
2015/04/27 Python
Python入门_浅谈数据结构的4种基本类型
2017/05/16 Python
Python xlwt设置excel单元格字体及格式
2020/04/18 Python
python编写Logistic逻辑回归
2020/12/30 Python
python的re模块使用方法详解
2019/07/26 Python
Django项目主urls导入应用中views的红线问题解决
2019/08/10 Python
Python lambda表达式filter、map、reduce函数用法解析
2019/09/11 Python
pandas中read_csv的缺失值处理方式
2019/12/19 Python
TensorFlow保存TensorBoard图像操作
2020/06/23 Python
H5 canvas中width、height和style的宽高区别详解
2018/11/02 HTML / CSS
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
Vans(范斯)新西兰官方网站:美国原创极限运动品牌
2020/09/19 全球购物
中国梦的演讲稿
2014/01/08 职场文书
2014年度工作总结报告
2014/12/15 职场文书
婚礼嘉宾致辞
2015/07/28 职场文书
如何撰写出一份完美的商业计划书?
2019/07/12 职场文书
纯html+css实现Element loading效果
2021/08/02 HTML / CSS
阿里云服务器部署mongodb的详细过程
2021/09/04 MongoDB
vue 数字翻牌器动态加载数据
2022/04/20 Vue.js