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使用rabbitmq实现网络爬虫示例
Feb 20 Python
Python发送以整个文件夹的内容为附件的邮件的教程
May 06 Python
django之常用命令详解
Jun 30 Python
Python实现读取json文件到excel表
Nov 18 Python
Python学习之Anaconda的使用与配置方法
Jan 04 Python
python 字段拆分详解
Dec 17 Python
tensorflow 实现自定义梯度反向传播代码
Feb 10 Python
Pycharm和Idea支持的vim插件的方法
Feb 21 Python
Python pip install之SSL异常处理操作
Sep 03 Python
Django xadmin安装及使用详解
Oct 26 Python
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
May 17 Python
粗暴解决CUDA out of memory的问题
May 22 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安全之直接用$获取值而不$_GET 字符转义
2012/06/03 PHP
php的一个简单加密解密代码
2014/01/14 PHP
weiphp微信公众平台授权设置
2016/01/04 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
2016/07/07 PHP
PHP后期静态绑定之self::限制实例分析
2018/12/21 PHP
PHP替换Word中变量并导出PDF图片的实现方法
2020/11/26 PHP
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
2011/09/22 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
2013/07/09 Javascript
$.get获取一个文件的内容示例代码
2013/09/11 Javascript
纯js分页代码(简洁实用)
2013/11/05 Javascript
Jquery在指定DIV加载HTML示例代码
2014/02/17 Javascript
node.js中的fs.lstatSync方法使用说明
2014/12/16 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
2015/03/24 Javascript
js光标定位文本框回车表单提交问题的解决方法
2015/05/11 Javascript
Js和JQuery获取鼠标指针坐标的实现代码分享
2015/05/25 Javascript
javascript获取文档坐标和视口坐标
2015/05/26 Javascript
JS获得一个对象的所有属性和方法实例
2017/02/21 Javascript
解决Mac安装thrift因bison报错的问题
2018/05/17 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
2019/12/04 Javascript
Vue Object.defineProperty及ProxyVue实现双向数据绑定
2020/09/02 Javascript
uniapp实现横向滚动选择日期
2020/10/21 Javascript
vue中watch的用法汇总
2020/12/28 Vue.js
python3中类的继承以及self和super的区别详解
2019/06/26 Python
wxpython实现按钮切换界面的方法
2019/11/19 Python
python 多进程队列数据处理详解
2019/12/23 Python
python 穷举指定长度的密码例子
2020/04/02 Python
python中numpy数组与list相互转换实例方法
2021/01/29 Python
推荐一些比较有用的css3新属性
2014/11/11 HTML / CSS
Desigual美国官方网站:西班牙服装品牌
2019/03/29 全球购物
乌克兰机票、铁路和巴士票、酒店搜索、保险:Tickets.ua
2020/01/11 全球购物
美国最大的在线生存商店:Survival Frog
2020/12/13 全球购物
编写一个类体现构造,公有,私有方法,静态,私有变量
2013/08/10 面试题
工商管理自荐书
2014/07/06 职场文书
健康证明
2015/06/19 职场文书
退休劳动合同怎么写?
2019/10/25 职场文书
javascript遍历对象的五种方式实例代码
2021/10/24 Javascript