图片和文件等是直接存储二进制
1. 读文件
步骤:打开→读取→关闭
1.利用内置函数open打开文件,rb表示读取二进制的内容
2.读取内容并赋值给变量,并转换为字符串类型
3.关闭文件
f = open("t.txt",mode="rb") i = f.read() j = i.decode("utf-8") print(i) f.close() 如果是直接读字符串的话可用rt,不用编码即可直接读取到文本 f = open("t.txt",mode="rt",encode="utf-8") 读图片时直接读取二进制的数据即可相对路径,相对于当前的路径去查找文件
绝对路径,从根目录出发去找文件的路径
window:"C:\\Users\\86187\\Desktop\\PYTHON" 或者写成 r"C:\Users\86187\Desktop\PYTHON"
Linux:"/Users/86187/Desktop/PYTHON"
判断路径是否存在,返回一个bool值
import os
exists = os.path.exist("路径")
2.写文件
和读文件差不多,模式从rb变成了wb,每打开一次文件都会先清空文件,再写入数据
f = open("t.txt",mode="wb")
i = f.write("文字信息".encode("utf-8"))
f.close()
简便方法
f = open("t.txt",mode="wt",encoding = "utf-8")
i = f.write("文字信息".encode("utf-8"))
f.close()
写图片或者读图片直接使用二进制就行,不存在编码问题
3.打开模式
"r" 读
"w" 写,文件不存在则创建文件
"x" 文件不存在,则创建文件并且写入
"a" 在尾部追加追加
"b" 二进制
"t" 通过设置编码读取文本内容
"+" 可读可写
组合
只读:r,rt,rb 不存在文件则报错,r和rt的作用等同
只写:w,wt,wb 文件存在则清空内容写入内容,文件不存在则创建文件写入内容
a,at,ab 文件存在则在尾部写入内容,文件不存在则创建文件写入内容
读写:r+,rt+,rb+ 默认光标是在起始位置
w+,rt+,rb+ 光标永远都在起始位置
a+,at+,ab+ 光标的位置永远在最后
4.不需要关闭操作的文件读取(常用)
with open("t.txt","r") as f:
pass
5.csv格式文件
逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。
6.ini文件
.ini 文件是Initialization File的缩写,即初始化文件,配置文件
格式
INI文件由节、键、值组成。
[section]
(键=值)
name=value
; exp ini file
[port]
portname=COM4
port=4
import configparser
c = configparser. Configparser()
c.read("t.txt",encoding = "utf-8")
c.sections() 获取节点
c.items("节点名字") #获取节点下的键值
c.get("节点名字","键") #获取对应的键值
7.xml格式文件
XML 指可扩展标记语言(eXtensible Markup Language)。
XML 被设计用来传输和存储数据,不用于表现和展示数据,HTML 则用来表现数据。
8.总结
1、文件操作用 with open()
2、读文件用 with open() 中的哪个模式?
3、写文件用with open() 中的哪个模式?平时一般值用这三个,基本所有文件都可以 通过 with open打开,但文件里存的二进制数据的话,我们看不懂,所以一些特殊的格式,我们用到的时候再去查相关函数操作即可不用花太多的时间去记忆