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中函数的参数传递
Jun 21 Python
python Selenium爬取内容并存储至MySQL数据库的实现代码
Mar 16 Python
Python基础语言学习笔记总结(精华)
Nov 14 Python
Python内置模块turtle绘图详解
Dec 09 Python
Python实现识别手写数字 简易图片存储管理系统
Jan 29 Python
Python使用functools实现注解同步方法
Feb 06 Python
Django进阶之CSRF的解决
Aug 01 Python
500行Python代码打造刷脸考勤系统
Jun 03 Python
Python编程实现tail-n查看日志文件的方法
Jul 08 Python
如何使用Flask-Migrate拓展数据库表结构
Jul 24 Python
Python ini文件常用操作方法解析
Apr 26 Python
Python子进程subpocess原理及用法解析
Jul 16 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表单转换textarea换行符的方法
2010/09/10 PHP
FireFox与IE 下js兼容触发click事件的代码
2008/11/20 Javascript
网页前台通过js非法字符过滤代码(骂人的话等等)
2010/05/26 Javascript
Webkit的跨域安全问题说明
2011/09/13 Javascript
使用JavaScript动态设置样式实现代码(2)
2013/01/25 Javascript
php的文件上传入门教程(实例讲解)
2014/04/10 Javascript
js如何实现淡入淡出效果
2020/11/18 Javascript
JavaScript中三种常见的排序方法
2017/02/24 Javascript
关于页面刷新vuex数据消失问题解决方案
2017/07/03 Javascript
JS实现的简单表单验证功能示例
2017/10/13 Javascript
vue 设置路由的登录权限的方法
2018/07/03 Javascript
Vue隐藏显示、只读实例代码
2018/07/18 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
2020/07/29 Javascript
JavaScript 继承 封装 多态实现及原理详解
2019/07/29 Javascript
JavaScript实现拖拽效果
2020/03/16 Javascript
JS实现随机点名器
2020/04/12 Javascript
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
2014/01/22 Python
Go语言基于Socket编写服务器端与客户端通信的实例
2016/02/19 Python
Python如何基于rsa模块实现非对称加密与解密
2020/01/03 Python
Python3查找列表中重复元素的个数的3种方法详解
2020/02/13 Python
python统计函数库scipy.stats的用法解析
2020/02/25 Python
python代码实现将列表中重复元素之间的内容全部滤除
2020/05/22 Python
Python经纬度坐标转换为距离及角度的实现
2020/11/01 Python
详解HTML5中的标签
2015/06/19 HTML / CSS
国际化的太阳镜及太阳镜配件零售商:Sunglass Hut
2016/07/26 全球购物
Delphi工程师笔试题
2013/09/21 面试题
参观监狱心得体会
2014/01/02 职场文书
学生会主席事迹材料
2014/01/28 职场文书
酒店总经理岗位职责
2014/03/17 职场文书
幼儿园小班家长寄语
2014/04/02 职场文书
车辆工程专业求职信
2014/04/28 职场文书
材料化学专业求职信
2014/07/15 职场文书
体育专业求职信
2014/07/16 职场文书
民主生活会主持词
2015/07/01 职场文书
孙振耀退休感言
2015/08/01 职场文书
四年级数学教学反思
2016/02/16 职场文书