一、文件处理

注意点1:

打开文件包含两部分资源:操作系统级打开得文件+应用程序的变量。

在操作完毕一个文件时,必须把该文件的两部分资源一个不落的回收

如下:

f.close()   #回收操作系统级打开的文件
del f #回收应用程序级的变量,python 的自动回收机制决定了我们无需再考虑这部操作

也可以用with关键字来管理上下文(防止忘写)

注意点2:

操作文件(f.open(...))是由操作系统打开文件,如果没有指定编码,那么默认编码是操作系统说了算(windows下是GBK,linux下是utf-8)

若要保证不乱码,文件以什么方式存的就以什么方式打开

f = open('txt','r',encoding = 'utf-8')

注意点3:(记住啊)

打开文件的模式:

(默认为文本模式:'t',非文本文件用'b'模式,表示以字节的方式操作,该模式不需要考虑字符编码,图片格式等等;这两种模式和下面搭配使用)

'r':只读模式(默认模式,文件必须存在,不存在则抛出异常)

'w':只写模式 (不存在则创建;存在则清空内容)

'a':只追加写模式(不存在则创建;存在则追加内容)

'x':只写模式(不存在则创建,存在则报错)

其它:

'+':表示可以同时读写某个文件(和上面搭配)

操作文件的方法:
读:
f.read() #读取所有内容,光标移动到文件末尾
f.readline() #读取一行内容,光标移动到第二行首部
f.readlines() #读取每一行内容,存放于列表中
n
写:
f.write('lzl 真帅!\n') #文本模式写,需要自己写换行符
f.write('lzl 真帅!\n'.encode('utf-8')) #b模式下写,..(懒得打字了,都一样)
f.writelines(['lzl\n','真帅!\n']) #向文件中写入一序列的字符串,这一序列字符串可以是由迭代对象产生的,如一个字符串列表 f.readable() #文件是否可写
f.writable() #文件是否可读
f.closed #文件是否关闭
f.encoding #如果文件打开模式为b,则没有该属性
f.flush() #立刻将文件内容从内存刷到硬盘

二、json 模块

补充:

把对象(变量)从内存中变成可存储或传输的过程称之为序列化

序列化原因:

1.持久保存状态

2.跨平台交互数据

注意点1:

json.dumps(): 可以对数据进行编码(序列化)

json.loads(): 对数据进行解码(反序列化)

json.dump():方便文件编码操作

json.load():方便文件解码操作

如下:

import json

with open('a.txt','w') as f:
j = json.dumps('aa')
f.write(j) #json.dump('aa',f) with open('a.txt','r') as f:
a = f.read()
print(json.loads(a)) # print(json.load(f))

一.文件处理和json模块(容易混淆知识点即用法)的更多相关文章

  1. 数据存储之json文件处理和csv文件处理

    什么是json: JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式.它基于 ECMAScript (w3c制定的js规范)的一个子集,采用 ...

  2. python之异常处理和re模块补充

    一.re模块的补充 1.从一个字符串中获取要匹配的内容 findall:返回一个列表 2.search ***** 验证用户输入内容 '^正则规则$':返回一个对象,用group()取值 3.matc ...

  3. python基础之 异常处理和logging模块

    1.异常处理 l = ['apple','admin','kobe'] for id,item in enumerate(l,1): print(id,item) try: choose_id = i ...

  4. Spark2 文件处理和jar包执行

    上传数据文件 mkdir -p data/ml/ hadoop fs -mkdir -p /datafile/wangxiao/ hadoop fs -ls / hadoop fs -put /hom ...

  5. python json模块 超级详解

    JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式.JSON的数据格式其实就是python里面的字典格式,里面可以包含方括号括起来的数组,也 ...

  6. Python基础之模块:3、os模块 sys模块 json模块 json实战

    目录 一.os模块 1.创建目录 2.删除目录 3.查看指定路径下目录内容 4.删除/重命名文件 5.获取/切换当前目录 6.动态获取项目根路径 7.拼接/切割路径 8.判断文件.目录是否存在 9.判 ...

  7. Python 第三篇(上):python文件基础操作、json模块、lambda、map、filter、reduce和函数位置参数

    python一切皆对象,linux一切皆文件,python操作文件是很常见的O/I操作,其内置来open()函数可以完成文件的基本操作: 一:使用内置open()函数操作文件,基本语法如下: with ...

  8. json模块 os模块 文件加密

    目录 一:random随机模块 二:os模块 三:文件处理选择任意视频 四:sys模块 五:实现文件执行加密操作 六:json 序列化模块 七:json序列化 反序列化 八:json 文件写读方式 九 ...

  9. (Python )格式化输出、文件操作、json

    本节学习Python的格式化输出,文件操作以及json的简单用法 1.格式化输出 将非字符串类型转换成字符串,可以使用函数:str() 或者repr() ,(这两个函数的区别目前我还没搞懂,求解答) ...

随机推荐

  1. 在 TKE 中使用 Velero 迁移复制集群资源

    概述 Velero(以前称为Heptio Ark)是一个开源工具,可以安全地备份和还原,执行灾难恢复以及迁移 Kubernetes 群集资源和持久卷,可以在 TKE 集群或自建 Kubernetes ...

  2. 微信小程序:小程序中使用Less

    配置: 首选项 -> 设置 -> 用户 -> 扩展 (找到EasyLess插件,编辑setting.json文件进行配置) 点击vscode左下角的à设置à点击右上角的à添加以上代码 ...

  3. Java基础语法:类型转换

    由于Java是强类型语言,所以有时候在进行运算时,需要用到类型转换. 整型.常量.字符类型数据可以混合运算. 运算中,不同类型的数据先转化为同一类型,然后再进行运算. 类型转换等级有低级到高级的划分, ...

  4. shell编程基础二

    一.流程控制 while循环:只要条件满足一直循环 read -p "请输入一个数字:" white_data while [ ${white_data} -lt 20 ] do ...

  5. spring boot +dubbo 踩坑记录

    今天初次搭建spring boot +duboo的demo.记录一下踩坑记录. 首先搭建3个小demo,一个maven项目,两个spring boot (服务提供者和服务消费者)项目. 两 sprin ...

  6. .Net Core 3.1浏览器后端服务(四) 你眼中的依赖注入与我相同吗?

    一.前言 DI-Dependency Injection 依赖注入 IoC-Inversion of Control 控制反转 近几年这依赖注入. 控制反转已成为软件开发中不可或缺的一部分,那么该怎么 ...

  7. dubbo使用和配置讲解

    1. 分布式系统中相关概念 1.1 互联网项目特点及目标 1.1.1 特点: 用户多 流量大.并发高 海量数据 易受攻击 功能繁琐 变更快 1.1.2 指标及相关目标 互联网项目三高目标:高并发.高可 ...

  8. 解决appium点击软键盘上的搜索按钮

    在执行appium自动化测试的时候,需要点击软件盘上的搜索按钮. 具体操作步骤如下: 前提:需要事先安装搜狗输入法 1.唤醒软件盘,可以封装到一个类里,用到的时候随时调用. import os#调起s ...

  9. 几大BSD 区别

    OpenBSD 侧重于安全,软件包较少,较陈旧,比如 KDE 才 3.5,为了安全舍弃了 sudo 和 linux 兼容层: FreeBSD 是开发者最多用户最多软件包最多的,有 ZFS 和 Linu ...

  10. FreeBSD 家图谱

    https://cgit.freebsd.org/src/tree/share/misc/bsd-family-tree