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中3种内建数据结构:列表、元组和字典
Nov 30 Python
Python中在脚本中引用其他文件函数的实现方法
Jun 23 Python
Python3.6 Schedule模块定时任务(实例讲解)
Nov 09 Python
Django自定义用户认证示例详解
Mar 14 Python
python让列表倒序输出的实例
Jun 25 Python
python使用response.read()接收json数据的实例
Dec 19 Python
Django url,从一个页面调到另个页面的方法
Aug 21 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
Dec 27 Python
Django 路由层URLconf的实现
Dec 30 Python
Python xml、字典、json、类四种数据类型如何实现互相转换
May 27 Python
Python实现定时监测网站运行状态的示例代码
Sep 30 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
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
常用的php ADODB使用方法集锦
2008/03/25 PHP
PHP抓取、分析国内视频网站的视频信息工具类
2014/04/02 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
2020/12/16 PHP
兼容IE和FF的图片上传前预览js代码
2013/05/28 Javascript
jQuery.parseJSON(json)将JSON字符串转换成js对象
2014/07/27 Javascript
jquery实现图片左右切换的方法
2015/05/07 Javascript
jquery移动端TAB触屏切换实现效果
2020/12/22 Javascript
javascript高级选择器querySelector和querySelectorAll全面解析
2016/04/07 Javascript
IE和Firefox之间在JavaScript语法上的差异
2016/04/22 Javascript
BootStrap与validator 使用笔记(JAVA SpringMVC实现)
2016/09/21 Javascript
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
详解javascript表单的Ajax提交插件的使用
2016/12/29 Javascript
js实现文本上下来回滚动
2017/02/03 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能
2019/11/12 Javascript
详解实现vue的数据响应式原理
2021/01/20 Vue.js
python网络编程学习笔记(五):socket的一些补充
2014/06/09 Python
简单介绍Python的Tornado框架中的协程异步实现原理
2015/04/23 Python
Python2与Python3关于字符串编码处理的差别总结
2020/09/07 Python
pycharm配置安装autopep8自动规范代码的实现
2021/03/02 Python
美国最大的网上冲印店:Shutterfly
2017/01/01 全球购物
写自荐信有哪些不宜?
2013/10/17 职场文书
计算机操作自荐信
2013/12/07 职场文书
大学四年规划书范文
2013/12/27 职场文书
学生党员思想汇报范文
2014/01/09 职场文书
优秀班组长事迹
2014/05/31 职场文书
小学语文教学经验交流材料
2014/06/02 职场文书
债务纠纷委托书
2014/08/30 职场文书
政府四风问题整改措施
2014/10/04 职场文书
假期安全教育广播稿
2014/10/04 职场文书
教师作风整顿个人剖析材料
2014/10/10 职场文书
乐山大佛导游词
2015/02/02 职场文书
2016关于读书活动的心得体会
2016/01/14 职场文书
《有余数的除法》教学反思
2016/02/22 职场文书
SQL CASE 表达式的具体使用
2022/03/21 SQL Server