分类

1.文本文件

存储常规字符串,由若干文本行组成,每行以换行符'\n'结尾

2.二进制文件

把对象以字节串存储,常见的图形图像、可执行文件、数据库文件office文档等

 #创建文件
>>fw = open('sample.txt','w+',encoding='utf-8')
>>s = '文本读取方式\n sample.txt w+\n'
>>fw.write(s)
>>fw.close()
#查看sample.txt
文本读取方式
sample.txt w+ #建议形式,关键字with可以自动管理资源
>>s = '文本读取方式\n sample.txt w+\n'
>>with open('sample.txt','w+',encoding='utf-8') as fw:
>> fw.write(s)
# 判断文件对象是否关闭
>>fw.colsed
True #添加文件内容
>>s = 'hello\n'
>>with open('sample.txt','a+',encoding='utf-8') as fa:
>> fa.write(s)
文本读取方式
sample.txt w+
hello # 读取文件内容
# 读取一行
>>fread = open('sample.txt','r',encoding='utf-8')
>>fread.readline()
'文本读取方式\n'
>>fread.readline()
' sample.txt w+\n'
>>fread.readline()
'hello\n' # 一次读取所有行
>>fread = open('sample.txt','r',encoding='utf-8')
>>fread.readlines()
['文本读取方式\n', ' sample.txt w+\n', 'hello\n'] #读取固定字符个数
>>fread = open('sample.txt','r',encoding='utf-8')
>>fread.read(4)
'文本读取'
45 >>fread.close()

可以使用dir() 查看与对象相关的方法,使用help()查看方法的用法

 >>fread = open('sample.txt','r',encoding='utf-8')
>>fread.colse()
>>dir(fread)
#查看read()函数用法
>>help(fread.read)

文件序列化

序列化,就是把内存中的数据在不丢失数据类型的情况下,转化为二进制形式的过程

1.使用pickle模块

Pickle是常用并且快速的二进制文件序列化模块

 #使用pickle dump依次写入二进制文件
import pickle
f = open('sample_pickle.dat','wb') alist = [[2,3,4],[6,7,8]]
aset = {'a','b','c'}
atuple = (-5,-3,-1)
astr = '北京欢迎你,welcome!'
adic = {'name':'jin','sex':None}
try:
pickle.dump(alist,f)
pickle.dump(aset,f)
pickle.dump(atuple,f)
pickle.dump(astr,f)
pickle.dump(adic,f)
except:
print('write error')
finally:
f.close() #使用Pickle load依次读取二进制文件
fr = open('sample_pickle.dat','rb')
try:
x=pickle.load(fr)
print(x)
x=pickle.load(fr)
print(x)
x=pickle.load(fr)
print(x)
x=pickle.load(fr)
print(x)
x=pickle.load(fr)
print(x)
except:
print('read error')
finally:
fr.close()

2.使用struct模块

 import struct
import binascii values = (1, b'good', 1.22) #字符串必须为字节流类型
s = struct.Struct('I4sf')
packed_data = s.pack(*values) #序列解包
unpacked_data = s.unpack(packed_data) print('Original values:', values)
print('Format string :', s.format)
print('Uses :', s.size, 'bytes')
print('Packed Value :', binascii.hexlify(packed_data))
print('Unpacked Type :', type(unpacked_data), ' Value:', unpacked_data) out:
Original values: (1, b'good', 1.22)
Format string : b'I4sf'
Uses : 12 bytes
Packed Value : b'01000000676f6f64f6289c3f'
Unpacked Type : <class 'tuple'> Value: (1, b'good', 1.2200000286102295)

python程序设计——文件操作的更多相关文章

  1. Python :open文件操作,配合read()使用!

    python:open/文件操作 open/文件操作f=open('/tmp/hello','w') #open(路径+文件名,读写模式) 如何打开文件 handle=open(file_name,a ...

  2. Python 常见文件操作的函数示例(转)

    转自:http://www.cnblogs.com/txw1958/archive/2012/03/08/2385540.html # -*-coding:utf8 -*- ''''' Python常 ...

  3. 孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容

     孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.打开文件后,要务必记得关闭,所以一般的写法应当 ...

  4. 孤荷凌寒自学python第三十三天python的文件操作初识

     孤荷凌寒自学python第三十三天python的文件操作初识 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天开始自学python的普通 文件操作部分的内容. 一.python的文件打开 ...

  5. python中文件操作的六种模式及对文件某一行进行修改的方法

    一.python中文件操作的六种模式分为:r,w,a,r+,w+,a+ r叫做只读模式,只可以读取,不可以写入 w叫做写入模式,只可以写入,不可以读取 a叫做追加写入模式,只可以在末尾追加内容,不可以 ...

  6. python中文件操作的其他方法

    前面介绍过Python中文件操作的一般方法,包括打开,写入,关闭.本文中介绍下python中关于文件操作的其他比较常用的一些方法. 首先创建一个文件poems: p=open('poems','r', ...

  7. Python常见文件操作的函数示例

    # -*-coding:utf8 -*- ''''' Python常见文件操作示例 os.path 模块中的路径名访问函数 分隔 basename() 去掉目录路径, 返回文件名 dirname() ...

  8. python的文件操作及简单的用例

    一.python的文件操作介绍 1.文件操作函数介绍 open() 打开一个文件 语法:open(file, mode='r', buffering=-1, encoding=None, errors ...

  9. python基本文件操作

    python文件操作 python的文件操作相对于java复杂的IO流简单了好多,只要关心文件的读和写就行了 基本的文件操作 要注意的是,当不存在某路径的文件时,w,a模式会自动新建此文件夹,当读模式 ...

随机推荐

  1. 霍金:AI或许能根除疾病和贫穷,但也可能摧毁人类 | GMIC 2017

    在我的一生中,我见证了社会深刻的变化.其中最深刻的,同时也是对人类影响与日俱增的变化,是人工智能的崛起.简单来说,我认为强大的人工智能的崛起,要么是人类历史上最好的事,要么是最糟的.我不得不说,是好是 ...

  2. Null 值对索引排序的影响案例一则

    --原SQL 语句如下:select * from (select tmp_tb.*, ROWNUM row_id from (select wpid, customer_id, customer_n ...

  3. RabbitMQ初学之踩坑记录

    1:账号或密码错误 com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Login was refused usi ...

  4. easyui 上 datagrid 的表头的checkbox全选时 取消选中 disabled的checkbox

    业务需求: 正常情况下,easyui的全选checkbox会选择表中全部的checkbox包括行.及时对checkbox加了disable属性也没有效果.但是现在的业务是当对checkbox加了dis ...

  5. Python字符串必记函数

    Python字符串函数数不胜数,想要记完所有几乎不可能,下列几个是极为重要的一些函数,属于必记函数. 一.join 功能: 将字符串.元组.列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 语 ...

  6. 基于jquery,ajax请求及自我终止的函数封装。

    场景描述: 在我们平时的开发过程中,经常会遇到这样的情况.在搜索功能中进行模糊搜索或者联想关联. 这就要我们每次对输入框中的数据进行改动时,都要发送一次请求.当在短时间内多次操作改动时,问题就出现了. ...

  7. Elasticsearch 聚合操作

    数据准备: PUT /shop { "settings": { "number_of_shards": 3, "number_of_replicas& ...

  8. 详解PreparedStatement

    详解PreparedStatement /** * PrepareStatement 测试插入数据库 */ /** * 如果使用Statement,那么就必须在SQL语句中,实际地去嵌入值,比如之前的 ...

  9. 转载自鸿燕藏锋-ETL讲解(很详细!!!)

    ETL讲解(很详细!!!)   ETL讲解(很详细!!!) ETL是将业务系统的数据经过抽取.清洗转换之后加载到数据仓库的过程,目的是将企业中的分散.零乱.标准不统一的数据整合到一起,为企业的决策提供 ...

  10. spark exectors的启动总结

    在spark启动之后,worker和master注册通信之后,在进入用户提交app中,new SparkContext之后就会在worker上分配exectors了. 首先在sparkContext中 ...