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协程的用法和例子详解
Sep 09 Python
python将字典内容存入mysql实例代码
Jan 18 Python
pycharm下查看python的变量类型和变量内容的方法
Jun 26 Python
完美解决python中ndarray 默认用科学计数法显示的问题
Jul 14 Python
python用pandas数据加载、存储与文件格式的实例
Dec 07 Python
Flask框架学习笔记之使用Flask实现表单开发详解
Aug 12 Python
解析python的局部变量和全局变量
Aug 15 Python
python打包成so文件过程解析
Sep 28 Python
pytorch 中的重要模块化接口nn.Module的使用
Apr 02 Python
python实现秒杀商品的微信自动提醒功能(代码详解)
Apr 27 Python
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
Sep 21 Python
python读取mnist数据集方法案例详解
Sep 04 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 代码优化的42条建议 推荐
2009/09/25 PHP
php获得用户ip地址的比较不错的方法
2014/02/08 PHP
PHP实现随机生成水印图片功能
2017/03/22 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
2017/10/11 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
用htc组件制作windows选项卡
2007/01/13 Javascript
IE6下通过a标签点击切换图片的问题
2010/11/14 Javascript
js中方法重载如何实现?以及函数的参数问题
2013/08/01 Javascript
子页向父页传值示例
2013/11/27 Javascript
JavaScript中的无阻塞加载性能优化方案
2014/10/10 Javascript
JavaScript对数组进行随机重排的方法
2015/07/22 Javascript
JavaScript获取function所有参数名的方法
2015/10/30 Javascript
js 判断各种数据类型的简单方法(推荐)
2016/08/29 Javascript
JavaScript页面实时显示当前时间实例代码
2016/10/23 Javascript
js+html5实现侧滑页面效果
2017/07/15 Javascript
ionic App问题总结系列之ionic点击系统返回键退出App
2017/08/19 Javascript
Node.js使用MySQL连接池的方法实例
2018/02/11 Javascript
node之本地服务器图片上传的方法示例
2019/03/26 Javascript
JS中的算法与数据结构之队列(Queue)实例详解
2019/08/20 Javascript
JavaScript 实现同时选取多个时间段的方法
2019/10/17 Javascript
[12:51]71泪洒现场!是DOTA2让经典重现
2014/03/24 DOTA
Python 分析Nginx访问日志并保存到MySQL数据库实例
2014/03/13 Python
Centos5.x下升级python到python2.7版本教程
2015/02/14 Python
对python实现二维函数高次拟合的示例详解
2018/12/29 Python
对Django中内置的User模型实例详解
2019/08/16 Python
pyCharm 实现关闭代码检查
2020/06/09 Python
python 调用API接口 获取和解析 Json数据
2020/09/28 Python
python3 通过 pybind11 使用Eigen加速代码的步骤详解
2020/12/07 Python
css3的图形3d翻转效果应用示例
2014/04/08 HTML / CSS
公司清洁工岗位职责
2013/12/14 职场文书
自我鉴定总结
2014/03/24 职场文书
退休教师欢送会主持词
2014/03/31 职场文书
幼儿园区域活动总结
2014/05/08 职场文书
基层党组织整改方案
2014/10/25 职场文书
2015年远程教育工作总结
2015/05/20 职场文书
python 爬取哔哩哔哩up主信息和投稿视频
2021/06/07 Python