敲重点啦哈,学习Python爬虫,必须学会模块open与json的使用,一起来看看吧

在Python中,open()函数用于打开文件,并返回一个文件对象,可以用于读取或写入文件,而json模块提供了与JSON数据格式的编码和解码相关的功能。它可以将Python对象转换为JSON字符串(编码),以及将JSON字符串转换为Python对象(解码)。

1.open()

其实open只是打开文件等内容
打开的模式有六种都要去关闭哈

1.1 六种打开Python中的模式

1.1.1 只读模式

‘r’(只读模式):表示以只读方式打开文件。文件必须存在,否则会引发FileNotFoundError异常。文件指针位于文件开头,可以读取文件内容。这是默认模式。

# 只读模式
file = open("file.txt", "r")
content = file.read()
file.close()

1.1.2 写入模式

‘w’(写入模式):表示以写入方式打开文件。如果文件已经存在,则会清空文件内容;如果文件不存在,则会创建一个新文件。文件指针位于文件开头,可以写入新的内容。如果你想要追加内容到文件末尾,可以使用追加模式。

# 写入模式
file = open("file.txt", "w")
file.write("Hello, World!")
file.close()

1.1.3 追加模式

a’(追加模式):表示以追加方式打开文件。如果文件已经存在,则文件指针位于文件末尾,可以在文件末尾追加内容;如果文件不存在,则会创建一个新文件。适用于需要在现有文件中添加内容的情况。

# 追加模式
file = open("file.txt", "a")
file.write("\nThis is a new line.")
file.close()

1.1.4 独立创建模式

‘x’(独占创建模式):表示以独占创建方式打开文件。如果文件已经存在,则会引发FileExistsError异常;如果文件不存在,则会创建一个新文件。这种模式适用于需要确保文件不存在的情况。

# 独占创建模式
try:
    file = open("file.txt", "x")
except FileExistsError:
    print("File already exists.")

1.1.5 二进制模式

‘b’(二进制模式):表示以二进制方式打开文件。用于处理二进制文件,例如图片、视频等。在这种模式下,文件内容以字节流的形式读取或写入。
一般打开图片之类的rb形式

# 二进制模式
file = open("image.jpg", "rb")
data = file.read()
file.close()

1.1.6 文本模式

‘t’(文本模式):表示以文本方式打开文件,默认为文本模式。用于处理文本文件,例如文本文档、日志文件等。在这种模式下,文件内容以字符串的形式读取或写入。

# 文本模式
file = open("file.txt", "rt")
content = file.read()
file.close()

1.2 open的简单用法

1.2.1读取打开文件

readable 是否能读
readblin 读取一行
readblins 读取多行 将其转化为列表
其余w等和这差不多,但是用的真不多,这就略过了

f = open("data.txt", mode="r")
print(f.readable())
content = f.read()
print(type(content))
line = f.readline()
print(line)
content = f.readlines()
print(type(content), content)
f.close()
#输出结果
True
<class 'str'>

<class 'list'> []

1.2 open与with的使用

open()函数与with语句可以搭配使用,这种方式更加安全和便捷。使用with语句可以自动管理文件的打开和关闭,确保在操作结束后正确关闭文件
下面是with语句示例

# 读取文件
with open("file.txt", "r") as file:
    content = file.read()
    # 对文件内容进行处理

# 写入文件
with open("file.txt", "w") as file:
    file.write("Hello, World!")
    # 执行其他操作

# 追加文件
with open("file.txt", "a") as file:
    file.write("\nThis is a new line.")
    # 执行其他操作

通过with open()将文件打开,并将其赋值给一个变量(例如file)。在with代码块内部,可以对文件进行读取、写入或其他操作。一旦代码块结束,无论是正常结束还是发生异常,with语句会自动关闭文件,不需要显式调用close()方法。

使用with语句可以确保在操作文件时避免忘记关闭文件,同时也可以提高代码的可读性和可维护性。因此,建议在处理文件时优先考虑使用with语句。

2. Json模块

JSON格式使用键值对的形式表示数据,其中键是字符串,值可以是数字、字符串、布尔型、数组、对象或者null。具体格式如下:
json模块提供了四个主要的函数来处理JSON数据:

2.1json.dumps()

将Python对象转换为JSON字符串。

import json

# Python字典
data = {"name": "John", "age": 30, "city": "New York"}

# 转换为JSON字符串
json_data = json.dumps(data)
print(json_data)
# 输出: {"name": "John", "age": 30, "city": "New York"}

2.2json.loads()

将JSON字符串转换为Python对象

import json

# JSON字符串
json_data = '{"name": "John", "age": 30, "city": "New York"}'

# 转换为Python对象
data = json.loads(json_data)
print(data["name"])
# 输出: John

2.3 json.dump()

将Python对象以JSON格式写入文件。

import json

# Python字典
data = {"name": "John", "age": 30, "city": "New York"}

# 写入JSON文件
with open("data.json", "w") as f:
    json.dump(data, f)

2.4 json.load()

从文件中读取JSON数据,并将其转换为Python对象。

import json

# 从JSON文件中读取数据
with open("data.json", "r") as f:
    data = json.load(f)

print(data["age"])
# 输出: 30

通过json模块,我们可以在Python中轻松地将数据转换为JSON格式,并在需要时将其还原为Python对象。这使得在Python和其他编程语言之间进行数据交换变得简单和方便。

3. 总结

通过Python中的Json和open ,我们可以打开文件并且想里面保存数据
封装两个函数

# 加载模块 判断文件是否有没有,没有则创建
def load_data():
    path = "data.json"
    if os.path.exists(path):
        with open(path, "r", encoding="utf8") as f:
            global datas
            datas = json.load(f)
# 写入模块 将datas 数据类型写入里面
def save_data():
    path = "data.json"
    with open(path, "w", encoding="utf8") as f:
        json.dump(datas, f)

  • 31
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值