如何使用Open函数、Json与Pickle、Os模块

一、

Open函数是Python中用于打开文件的内置函数。它可以用来打开一个文件,并返回一个文件对象,用于后续对文件的读取、写入等操作。

使用open函数的一般语法为:

文件对象 = open(文件名, 打开模式)

其中,文件名是要打开的文件的路径和名称,可以是相对路径或绝对路径。打开模式是一个可选参数,用于指定文件的打开方式。常见的打开模式包括:

  • "r":只读模式,打开文件后只能读取文件内容,不能写入或修改文件。
  • “r+”:可读写,如果文件不存在则报错
  • "w":只写模式,打开文件后可以写入内容,如果文件已存在,则会覆盖文件内容;如果文件不存在,则会创建新文件。
  • “w+”:可读写,如果文件已存在,则会覆盖文件内容;如果文件不存在,则会创建新文件。
  • "a":追加模式,打开文件后可以在文件末尾追加内容,如果文件不存在,则会创建新文件。
  • "wb":写入二进制
  • “rb”:读取二进制

打开文件后,可以通过文件对象进行读取、写入等操作。例如,使用read()方法可以读取文件的全部内容,使用readline()方法是读取一行,而readlines()方法是逐行读取,返回列表,列表中存放每一行的字符串。使用write()方法可以写入内容到文件中,使用writelines()方法可写多行字符串。

# 1.打开并返回一个文件
f = open("./36.函数.py",mode='r')
# 是否可读
print(f.readable(),f.writable())
# 读取整个文件,返回字符串
# content = f.read()
# print(content,type(content))
# 读取一行 返回字符串
# line = f.readline()
# print(line,type(line))
# 以字符串的形式读取所有行,返回列表 列表中存放
lines = f.readlines()
print(lines)
#2.关闭文件
f.close()


# 写 没有文件会新建,有会替换原来的东西
# 1.打开并且返回一个文件
f = open("./2.txt",mode="w",encoding="utf8")
print(f.readable(),f.writable())
# 写入1行字符串
# f.write("醒醒了")
# 写入多行字符串
f.writelines(["bbbb\n","qewd"])
# 2.关闭文件
f.close()



二、Json与pickle

1.Json

在Python中,可以使用json模块来处理JSON数据。json模块提供了一组函数来解析JSON数据、将Python对象转换为JSON数据,以及将JSON数据转换为Python对象。

下面是一些常用的json模块函数:

  • json.dumps(obj): 将Python对象转换为JSON字符串。
  • json.loads(str): 将JSON字符串转换为Python对象。
  • json.dump(obj, file): 将Python对象转换为JSON格式,并将其写入文件。
  • json.load(file): 从文件中读取JSON数据,并将其转换为Python对象。

下面是一些示例代码,展示了如何使用json模块:

import json

# 将Python对象转换为JSON字符串
data = {'name': 'John', 'age': 30, 'city': 'New York'}
json_str = json.dumps(data)
print(json_str)

# 将JSON字符串转换为Python对象
json_data = '{"name": "John", "age": 30, "city": "New York"}'
data = json.loads(json_data)
print(data)

# 将Python对象写入JSON文件
data = {'name': 'John', 'age': 30, 'city': 'New York'}
with open('data.json', 'w') as file:
    json.dump(data, file)

# 从JSON文件读取数据
with open('data.json', 'r') as file:
    data = json.load(file)
    print(data)

通过使用json模块,可以方便地处理JSON数据,从而实现数据的序列化和反序列化。

2.pickle

pickle的使用和json完全一致,但是pickle仅可在python中使用,其他编程语言无法识别。

三、Os模块

import os
# print(os)
# # 当前路径
# print(os.curdir)
# # 父级路径,上级路径
# print(os.pardir)
# # 更改路径
# os.chdir("f:")
# # 当前路径下文件信息
# print(os.listdir())
# # 指定路径下文件信息
# print(os.listdir("e:\\python2407"))
# # 创建文件夹
# # os.mkdir("e:\\1")
# # 删除文件夹
# # os.rmdir("e:\\1")
# # cpu核心数
# print(os.cpu_count())

# 某一个路径(文件)是否存在
print(os.path.exists("e:\\bilibili"))
# 是不是一个文件
print(os.path.isfile("e:\\bilibili"))
# 是不是一个路径
print(os.path.isdir("e:\\bilibili"))
# 分割最后一部分,
print(os.path.split("e:\\bilibili"))
# 将多个部分组装成路径
path = os.path.join("f:\\","Program","ab")
print(path,os.path.exists(path))
# 获取当前路径的绝对路径
print(os.path.abspath(path))
# 获取当前路径的父路径
print(os.path.dirname(path))

#获取当前文件
print(os.path.dirname(__file__), os.path.abspath(os.curdir))

  • 19
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值