在 Python 中,可以使用 open()
函数来打开一个文件,并进行读写操作。同时,Python 还提供了 json
模块来处理 JSON 数据。
1.open函数
open()
函数用于打开一个文件,并返回一个文件对象。操作文件流程:
1.打开文件(文件路径、模式)
2.操作文件
3.关闭文件
# 随着代码块的结束,f自动关闭,不需要调用close
with open("data.txt", mode="r") as f:
print(f.read())
(1)读取
# r 只读
f = open("data.txt", mode="r")
# 将整个文件读取 返回字符串
print(f.read())
# 是否可读
print(f.readable())
# 读取一行返回字符串
print(f.readline())
# 读取文件所有返回字符串
print(f.readlines())
f.close()
(2)写入
# w 只写,如果文件不存在则创建,存在则覆盖
f = open("data.txt", mode="w")
# 将字符串内容写入文件
print(f.write("hi"))
# 是否可写
print(f.writable())
# 将列表中所有字符串写入文件
print(f.writelines(["dog\n", "cat"]))
f.close()
# x 只写,文件存在报错,不存在写入
f = open("data.txt", mode="x")
print(f.write("45678"))
f.close()
# a 只写,追加新内容到原始文件末尾,不存在则新建
f = open("data.txt", mode="a")
f.write("45678")
f.close()
(3)读取写入二进制图片
# rb 读取二进制图片
f = open("image.nag","rb")
content = f.read()
# wb 写入二进制 返回bytes
f1 = open("image.nag","rb")
f1.write(content)
f.close()
2.json
json
模块用于解析和生成 JSON 数据,提供了 load()
、loads()
、dump()
、dumps()
等方法
1.load()
import json
# 将对象(列表、字典)类型转换成字符串,文件保存字符串
def load_data():
with open("data.txt", "r") as f:
content = json.load(f)
print(content, len(content["students"]))
load_data()
2.loads()
def load_data():
with open("data.txt", "r") as f:
content = f.read()
content = json.loads(content)
print(content, type(content), len(content["students"]))
load_data()
3.dump()
with open("data.txt", "w") as f:
json.dump(datas, f)
4.dumps()
# 将字典序列化为字符串
datas_str = json.dumps(datas)
with open("data.txt", "w"):
content = json.dumps(datas)
print(content)