一、
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))