Python篇:文件操作

系统 1543 0

文件操作

  • 文件操作介绍
    • 打开
      • 打开方式
    • File对象的属性
  • 文件的读写
    • File对象的常用方法
      • 定位
    • 关闭
  • os模块详解
  • os简介
  • 常用功能
    • 关于操作系统
    • 关于文件与目录
      • 路径
      • 操作
  • json和pickle模块详解
    • json
      • 简介
      • python类型数据和JSON数据格式互相转换规则
        • json to python
        • python to json
      • 数据类型编解码
        • 序列化及反序列化常用参数
    • pickle
      • 简介
      • JSON和pickle模块的区别

文件操作介绍

打开

默认数据是加载到内存中,结果也是保存到内存中, 程序执行结束,所有的数据释放。
在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件。
open(文件名,访问模式)
eg:
f = open(‘test.txt’, ‘w’)
如果文件不存在那么创建,如果存在那么就先清空,然后写入数据

打开方式

是否有读权限 是否有写权限 文件不存在,是否会创建文件 文件操作会清空文件内容么
r yes no no no
w no yes yes yes
a no yes yes no
w+ yes yes yes yes
a+ yes yes yes no
r+ yes yes no no

对于二进制文件:
rb, wb, ab, wb+, ab+, rb+

File对象的属性

Python篇:文件操作_第1张图片

文件的读写

File对象的常用方法

read 读取指定字节,默认是全部内容
readline 读取一行内容
readlines 读取全部内容,返回一个以行为单位的列表

write 从指针所在位置写入字符串内容
writelines 将列表里的每个元素写入文件中,自动换行

定位

tell 指针当前位置
seek 移动指针位置

seek(offset, from)有2个参数:
offset:偏移量
from:方向 0:表示文件开头; 1:表示当前位置; 2:表示文件末尾

关闭

方法一: 调用close()方法关闭文件。文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的
方法二: Python引入了with语句来自动帮我们调用close()方法
python中的with语句使用于对资源进行访问的场合,保证不管处理过程中是否发生错误或者异常都会自动执行规定的(“清理”)操作,释放被访问的资源,比如有文件读写后自动关闭、线程中锁的自动获取和释放等
eg:

            
              with open('test.txt', 'w') as f:		#同 f = open('test.txt', 'w'), with执行结束后
										#自动调用f.close()

            
          

os模块详解

os简介

os,语义为操作系统,处理操作系统相关的功能,可跨平台。 比如显示当前目录下所有文件/删除某个文件/获取文件大小……

常用功能

关于操作系统

Python篇:文件操作_第2张图片

关于文件与目录

路径

Python篇:文件操作_第3张图片

操作

Python篇:文件操作_第4张图片

json和pickle模块详解

json

简介

  • JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。
  • JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、Java、JavaScript、Perl、Python等)。
  • 这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。

python类型数据和JSON数据格式互相转换规则

json to python

json python
object dict
array list
string unicode
number(int) int,long
number(real) float
TRUE True
FALSE False
null None

python to json

python json
dict object
list,tuple array
str,unicode string
int,long,float number
True TRUE
False FALSE
None null

注:
python 中str类型到JSON中转为unicode类型,None转为null,dict对应object;
pyhton中的集合不能转成json格式。

数据类型编解码

dump:将对象序列化并保存到文件
load:将序列化字符串从文件读取并反序列化
dumps与loads只返回序列化或反序列化的数据,不会操作文件

序列化及反序列化常用参数

  • ensure_ascii=False: 中文存储需要设定
  • indent=4: 增加缩进,增强可读性,但缩进空格会使数据变大
  • separators=(’,’,’:’): 自定义分隔符,元素间分隔符为逗号, 字典key和value值的分隔符为冒号
  • sort_keys=True: 字典排序

pickle

简介

python的pickle模块实现了python的所有数据序列和反序列化。与JSON不同的是pickle不是用于多种语言间的数据传输,它仅作为python对象的持久化或者python程序间进行互相传输对象的方法,因此它支持了python所有的数据类型。

JSON和pickle模块的区别

1、JSON只能处理基本数据类型。pickle能处理所有Python的数据类型。
2、JSON用于各种语言之间的字符转换。pickle用于Python程序对象的持久化或者Python程序间对象网络传输,但不同版本的Python序列化可能还有差异。


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论