目录

一:文件的打开和关闭

二、文件的读和写

写的话就需要使用到write函数

读的话需要使用到read函数

三、文件的序列化和反序列化

序列化

dumps

dump

反序列化

load和loads的区别:


一:文件的打开和关闭

利用python打开关闭文件需要使用open和close函数

# open(文件路径,访问模式)
# 模式:w  可写
#      r  可读
f = open('demo/test.txt','w')
#文件夹是不可以创建的
f.write('hello world')
#文件的关闭
f.close()

其中对文件的访问模式有

r    以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
w   打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a   打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
rb  以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
wb  以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab  以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
rb+    以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
wb+    以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab+    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

二、文件的读和写

正常我们创建完一个文件也是要去读取里面的内容,或写里面的内容

写的话就需要使用到write函数

# 文件写数据
# write方法去写数据fp = open('demo/test.txt','a+')fp.write('hello world,i am superman\n' * 5)
fp.close()

对应文件中查看一下

读的话需要使用到read函数

这里我读取桌面的一个脚本文件

fp = open('C:\\Users\\siyu.guan\\Desktop\\巡检.txt','r',encoding='UTF-8')
# fp.read是一个字符一个字符读
# fp.readline是一行一行的读,效率会高点,但是只会读一行
# fp.resdlines可以按行读取,但是会将所有的数据都读到,并且一一个列表的形式返回,而列表的元素,是一行一行的数据
content = fp.read()
print(content)

执行后看一下控制台

就会显示出里面的内容,需要注意的是read是按字符,readline是按行来读,效率更高,但是只能读一行,readlines可以读多行,但是是以列表的形式去返回值,需要注意

三、文件的序列化和反序列化

  通过文件操作,我们可以将字符写入到一个本地文件,但是,如果是一个对象(例如列表,字典,元组等),就无法直接写入到一个文件里,需要对这个对象进行序列化,然后才能写入到文件里设计一套协议,按照某种规则,把内存中的数据转化为字节序列,保存到文件,这就是序列化,反之,从文件的字符序列回复到内存中,就是反序列化python中提供了JSON这个模块来实现数据的序列化和反序列化

序列化

dumps

在使用dumps函数进行序列化时,我们需要先对对象进行序列化,再赋值写入文件中

# 序列化的2种方式
# dumps()
# 导入jsn模块到该文件
import json# (1)创建一个文件
file = open('demo/test.txt','w')
# 定义一个列表
names = ['yy','zz','apple','banana','yyzz']
# 序列化   我们只会在使用scrapy框架的时候,该框架会返回一个对象,我们要将对象写入到文件中,就要使用json.dumps
# 将names这个列表对象,转化为json格式
names_json = json.dumps(names)
# 写入文件
file.write(names_json)
file.close()
# 读一下文件
file = open('demo/test.txt','r')
content = file.read()
print(content)
file.close()

会发现,我们定义names时是一个list类型,但是通过json.dumps后,就会以string类型输出到文件中,这也是我们想要的。

dump

dump函数就会更简单一点,我们不需要多一层赋值+写入,dump可以自动为我们完成

import json
# dump
# 在将对象转换为字符串的同时,指定一个文件的对象,然后把转换后的字符串写入到这个文件里
f = open('demo/test1.txt','w')name = ['tt','aa']
# json.dump  内只需指定要序列化的名称和哪个文件就可以直接完成写入
json.dump(name,f)
f.close()f = open('demo/test1.txt','r')
content1 = f.read()
print(content1)
f.close()

反序列化

比如,我们要将文件中的内容,以列表,元组,字典的形式在python中为为我们展示或方便查询

我们需要使用loads和load函数

# 反序列化
# 将json的字符串变成一个python对象
file = open('demo/test.txt','r')
# 我们读取一下第一个文件内的内容
content = file.read()
# 查看文件内容的类型为string
print(type(content))
file.close()
# 反序列化也有两种方法   loads和load# loads
result = json.loads(content)
print(result)
print(type(result))# load
f = open('demo/test1.txt','r')
result = json.load(f)
file.close()
print(result)
print(type(result))

首先我们读取一个上文中序列化后的文件内容,分别对他们进行一个反序列化,并赋值到一个变量中,观察其类型

load和loads的区别:

在使用loads时,我们要先取文件中的内容将它赋值到一个变量,再对他进行一个反序列化,再赋值后,才可以进行查看

load就会简化一步操作,我们直接打开文件后,使用load直接对指定文件进行反序列化,文件内的内容会自动全部反序列化好,我们再进行查看就可以了

Python:对文件的操作相关推荐

  1. python36_第36 p,就这几个方法,Python中文件的操作

    大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第X篇文章,第二阶段的课程:Python基础知识:Python中文件的操作(下篇). 学习本课程,建议先看一遍:[计算机基础知识]课 ...

  2. python对文件的操作都有什么_python中文件操作的相关内容总结(附示例)

    本篇文章给大家带来的内容是关于python中文件操作的相关内容总结(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1. 文件操作介绍 说到操作文件我们肯定会想到流,文件的操 ...

  3. Day6 python对文件的操作——百度飞桨领航团零基础Python入门

    python文件操作 前言 一.JSON是什么? 二.python对文件的操作 1.写入文件内容 2.打开.读取.关闭文件 文件数据若有问题采用两种解决方式 file对象的函数列表 写入文件内容 对象 ...

  4. python怎么读write_Python如何读写文件?python写入文件读写操作详解

    Python文件的打开或创建可以使用函数open().该函数可以指定处理模式,设置打开的文件为只读.只写或可读写状态.open()的声明如下所示. open(file, mode='r', buffe ...

  5. python对文件的操作模式_python对文件的操作

    一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的所有文件 ...

  6. python基础------文件读写操作、re、os和sys模块

    1. 文件读取 1.1 file文件 file文件读取:只能写入字符串,如果要写入字符串以外的数据,先将他转换为字符串,文件内的数据不容易操作 #文件打开 file.open() #文件关闭 file ...

  7. Python中文件的操作

    1.文件的基本操作 文件打开的格式: file = open(文件路径,读写模式) 文件路径:可以写相对路径,也可以写绝对路径 读写模式:r(读取) w(写入) a(追加) 文件打开后,必须关闭,否则 ...

  8. python对文件读写操作

    不知道大家是否跟我一样,总是分不清楚python里面对于读写操作,今天给自己重新总结一下. w+ 可以同时读写,如果文件不存在,则新建文件,写入时是清空之前的内容. a+可以同时读写,如果文件不存在, ...

  9. python对文件的操作(一)序列化和反序列化

    1.文件操作 1.1 文件操作的流程 1.打开文件,得到文件句柄并赋值给变量. 2.通过句柄对文件进行操作. 3.关闭文件 1.2 从文件中读取数据 要使用文件中的信息,首先需要将信息读取到内存中,为 ...

  10. python简述文件的操作步骤_Python文件读取操作的详细介绍

    本篇文章给大家带来的内容是关于Python文件读取操作的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 读取文件的操作步骤 有一道脑筋急转弯,问把大象装进冰箱的步骤,答案很简 ...

最新文章

  1. POJ2553 强连通出度为0的应用
  2. 圣思园java se培训总结(82-)(观察者设计模式)
  3. 怎么改PHP_PHP实现RPC(简版)
  4. 学习笔记之APACHE ANT
  5. python 中的pickle库
  6. 严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderLis
  7. 设计原则之单一职责原则
  8. 人称代词和Be动词的现在简单肯定式_1
  9. 2021湖南l高考成绩查询入口,湘潭2021高考成绩查询入口
  10. session的生命周期是怎样的
  11. 基于微信小程序的人脸识别
  12. Everything下载及使用教程【非常详细】(磁盘文件搜索神器)
  13. 硬盘分区的类型:mbr分区和gpt分区的区别
  14. c语言 模拟memcmp
  15. MISC中图片隐藏文件分离
  16. 镇雄县赤水源品区域公用品牌介绍——中国赤水河源 好品世界珍享
  17. Windows8.1环境如何删除FlashHelperService.exe文件
  18. SQL轻松入门(1):增删改与简单查询
  19. 【解析】Vision Transformer 在图像分类中的应用
  20. 开源web应用中存在三个XSS漏洞,可导致系统遭攻陷

热门文章

  1. Atmel Studio 6.0 SP2 2.4 Gb.txt
  2. 【06】【模板方法模式】
  3. VC 打开 Excel 文件后,excel.exe进程无法退出
  4. 使用.NET 框架压缩版开发Windows Mobile 2003 for Smartphone
  5. 运筹优化学习17:马尔科夫决策规划--例题及Matlab、Lingo和Cplex的建模实现
  6. Cocos2d 基础知识 2
  7. luckysheet自定义右键
  8. 前端每日实战:161# 视频演示如何用纯 CSS 创作一张纪念卓别林的卡片(没有笑声的一天就是被荒废的一天)...
  9. ubuntu14.04安装360wifi2驱动
  10. spring boot小区物业管理系统 毕业设计源码101409