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() ...
随机推荐
- linux下各权限的细分
PS:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的li ...
- iftop网络流量查看工具
1.下载iftop源码包 mkdir /usr/local/src/iftop cd /usr/local/src/iftop wget http://www.ex-parrot.com/~pdw/i ...
- python网络编程之开启进程的方式
标签(空格分隔): 开启进程的方式 multiprocessing模块介绍: python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在pyth ...
- 【scrapy】其他问题2
今天爬取豆瓣电影的是时候,出现了两个问题: 1.数据无法爬取并输出Retrying <GET https://movie.douban.com/robots.txt> 看起来像是被拦截了. ...
- jquery mobil 和页面适应
<meta name="viewport" content="width=device-width" />
- 103. Binary Tree Zigzag Level Order Traversal (Tree, Queue; BFS)
Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ...
- Framework7框架结构
以2017年2月10日发布的Framework7 1.5.3为例. (function(){ 'use strict'; window.Framework7 = function(){ var app ...
- 【python-sql】sql操作时遇到的坑
针对python的sql语句的封装以及调用: python的db操作类: # -*- coding: utf-8 -*- # coding=utf-8 import MySQLdb class Dat ...
- TZOJ 3710 修路问题(最小差值生成树kruskal或者LCT)
描述 xxx国“山头乡”有n个村子,政府准备修建乡村公路,由于地形复杂,有些乡村之间可能无法修筑公路,因此政府经过仔细的考察,终于得到了所有可能的修路费用数据.并将其公布于众,广泛征求村民的修路意见. ...
- IOS是否存在32位和64位版本的区分
苹果于2013年9月推出了iPhone 5S新手机,采用的全新A7处理器其最大特色就是支持64位运算.其64位A7处理器的使用意味着iPhone性能会大有提高,性能和速度更加出色:而要到达到这样的性能 ...