python文件读取操作、序列化
1.对文件进行读写操作时,先建立文件句柄
f = open("test.txt","r",encoding="UTF-8")
其中,r为文件操作权限:
r-只读,w-写(新建文件后写),a-追加(f.write()后在最后追加信息),r+读写(追加写),rb二进制文件读(后面不跟encodi)常用来做网络传输及视频文件读写操作。
2.文件读操作
f.read() #读取文件
f.readline() #读一行
f.readlines() #从节点处读取文件并生成一个列表
在读取文件时,有一类似光标的功能。可以对光标进行操作
f.tell() #显示光标位置
f.seek() #将光标移动到指定位置
f.truncate() #从头截取指定光标数的字符,包含空格、标点。
常规情况tell与seek应搭配使用。
用指令将数据从内存中刷新到硬盘中(强制刷新):
f.flush()
3.序列化
将内存状态写至文件常用的为json与pickle数据序列化,json序列化存储的文件可作为与java等语言的接口文件,但只能做简单数据的存储。
import json
info = {"name":"Aaron",
"sex":"male",
"age":32}
f = open("json序列化.txt","w",encoding="utf-8")
print(json.dumps(info))
f.write(json.dumps(info))
f.close() 打印数据:{"name": "Aaron", "sex": "male", "age": 32}
json序列化.txt中的数据
{"name": "Aaron", "sex": "male", "age": 32}
将数据存贮至文件中后,反序列化
import json
f = open("json序列化.txt","r",encoding="utf-8")
data = json.loads(f.read())
pickle的序列化与反序列化与json方法一样,但存储的文件为二进制文件
import pickle
info = {"name":"Aaron",
"sex":"male",
"age":32}
f = open("json序列化.txt","wb",) #此处应为wb
print(pickle.dumps(info))
f.write(pickle.dumps(info))
f.close() 打印出的值:b'\x80\x03}q\x00(X\x04\x00\x00\x00nameq\x01X\x05\x00\x00\x00Aaronq\x02X\x03\x00\x00\x00sexq\x03X\x04\x00\x00\x00maleq\x04X\x03\x00\x00\x00ageq\x05K u.'
pickle的反序列化
import json,pickle
f = open("json序列化.txt","rb")
data = pickle.loads(f.read())
print(data["name"])
python文件读取操作、序列化的更多相关文章
- python文件读取操作
#IO操作 #模拟账号登录 data = [] #0=userName 1=password obj = open("login.txt","r") for l ...
- python文件相关操作
Python文件相关操作 打开文件 打开文件,采用open方法,会将文件的句柄返回,如下: f = open('test_file.txt','r',encoding='utf-8') 在上面的代码中 ...
- Python文件读取和数据处理
一.python文件读取 1.基本操作 读取文件信息时要注意文件编码,文件编码有UFT-8.ASCII或UTF-16等. 不过在python中最为常用的是UTF-8,所以如果不特别说明就默认UTF-8 ...
- Python文件基础操作(IO入门1)
转载请标明出处: http://www.cnblogs.com/why168888/p/6422270.html 本文出自:[Edwin博客园] Python文件基础操作(IO入门1) 1. pyth ...
- python文件高级操作
python文件高级操作和注意事项等等 文件过大保护 由于read是一次性读取文件所有的内容,如果文件100G,内存就会吃不消,所以推荐使用read(size)一次读取指定字节/字符(根据rb,或者r ...
- python 文件读写操作(24)
以前的代码都是直接将数据输出到控制台,实际上我们也可以通过读/写文件的方式读取/输出到磁盘文件中,文件读写简称I/O操作.文件I/O操作一共分为四部分:打开(open)/读取(read)/写入(wri ...
- python文件读取和写入案例
python文件读取和写入案例 直接上代码吧 都是说明 百度上找了很多,最终得出思路 没有直接可以读取修改的扩展,只能先读取,然后复制一份,然后在复制出来的文件里面追加保存 然后删除读的那个,但是缺 ...
- Perl中文件读取操作
Perl中文件读取操作 http://blog.csdn.net/yangxuan12580/article/details/51506216
- Python 文件常见操作
# -*-coding:utf8 -*- ''''' Python常见文件操作示例 os.path 模块中的路径名访问函数 分隔 basename() 去掉目录路径, 返回文件名 dirname() ...
随机推荐
- Spring 手动 提交事务
1.配置文件 applicationContext.xml: <bean id="txManager"class="org.springframework.jdbc ...
- 1、CDH 搭建Hadoop在安装之前(存储空间规划)
Cloudera Manager的存储空间规划 最低要求角色: 完全管理员 Cloudera Manager跟踪许多后台进程中的服务,作业和应用程序的度量标准.所有这些指标都需要存储.根据组织的大小, ...
- Java中String的常用方法总结
Java中String的常用方法总结 1.length()字符串的长度 String str="HelloWord"; System.out.println(str.length( ...
- lua keynote2
[lua keynote2] 1.Lua函数可以返回多个结果值,比如string.find,其返回匹配串"开始和结束的下标"(如果不存在匹配串返回nil). > s, e = ...
- Spring知识结构
课程目标: 1. 回顾 * 传统的开发模式 * Struts与Hibernate可以做什么事? ...
- 【Nodejs】Expressのファイルアップロード(FileUpload)のMulterについて
https://github.com/expressjs/multer/blob/master/doc/README-zh-cn.md Multer 是一个 node.js 中间件,用于处理 mult ...
- php 两个值进行比较的问题
php手册运算符中有介绍: 比较多种类型-- 如var_dump([ ] > 0); // 结果为true 运算数 1 类型 运算数 2 类型 结果 null 或 string string 将 ...
- 第九章 词典 (e)桶/计数排序
- 如何解决make: Nothing to be done for `all' 的方法
正常情况下,当文件没有更新且已经编译过时,再次make就会报这个错误,表示文件未更新,不需要编译. 如果异常情况没有检测到更新文件,或者想要强制重新编译,只需要make clean,再次编译即可.
- Mac Sublime Text3 如何安装插件
1.打开sublime text3后按快捷键control+`后下面会出来东西,然后输入如下命令. import urllib.request,os; pf = 'Package Control.su ...