一. 文件操作与 open() 函数
Open函数是Python中用于打开文件的内置函数,其基本语法如下:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
各参数说明:
-
file: 要打开的文件名(必需),可以是相对路径或绝对路径。
-
mode:打开文件的模式,默认为'r'(读取模式)。常见模式包括:
-
'r': 只读模式 -
'w': 只写模式,如果文件存在则覆盖,不存在则创建 -
'a': 追加模式,将数据写入到文件末尾 -
'b': 二进制模式,与文本模式结合使用(如'rb'或'wb') -
'+': 读写模式(如'r+'或'w+') - buffering:设置缓冲策略,用于控制文件的读写性能。可以是0(无缓冲)、1(行缓冲)、大于1的整数(固定大小的缓冲)或-1(使用系统默认的缓冲策略)。
- encoding:文件的字符编码,如'utf-8'。
- errors:编码错误处理策略。
- newline:行尾换行符的处理方式。
- closefd:如果为False,则不关闭底层文件描述符。
- opener:用于自定义打开文件的函数(一般不需要使用)。
示例:
1.'r': 只读模式

2.'w': 只写模式


3.'a': 追加模式,将数据写入到文件末尾


4.'+': 读写模式(如 'r+' 或 'w+')

5.'b': 二进制模式,与文本模式结合使用(如 'rb' 或 'wb')



二. JSON 与 Pickle
Json:
-
用途:Json(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它主要用于不同语言之间的数据交换,如C和Python之间。
-
序列化与反序列化:
-
序列化:将Python对象转换成Json格式的字符串,以便存储或网络传输。使用
json.dumps()方法。 -
反序列化:将Json格式的字符串转换回Python对象。使用
json.loads()方法。
-
-
文件操作:
-
使用
json.dump()将对象直接写入文件。 -
使用
json.load()从文件中读取对象。
-
示例:序列化:


反序列化:

Pickle:
-
用途:Pickle是Python特有的一个序列化模块,它可以将几乎所有的Python对象序列化为字节流,并可以反序列化恢复成原来的Python对象。但Pickle只适用于Python之间的数据交换,且不同版本的Python之间可能存在兼容性问题。
-
序列化与反序列化:
-
序列化:使用
pickle.dumps()将对象序列化为字节流。 -
反序列化:使用
pickle.loads()将字节流反序列化为Python对象。
-
-
文件操作:
-
使用
pickle.dump()将对象直接写入文件(以二进制模式打开)。 -
使用
pickle.load()从文件中读取对象(以二进制模式打开)。
-
示例:序列化:


反序列化:

三.Os模块
Os模块是Python中用于与操作系统交互的模块,它提供了丰富的功能,包括文件和目录操作、进程管理、环境变量管理等。
文件和目录操作
-
获取当前文件路径:os.path.dirname(__file__), os.path.abspath(os.curdir)
-
获取当前文件所在文件夹路径(父路径):os.path.dirname
(__file__) -
判断路径是否存在:
os.path.exists(path) -
拼接文件路径:
os.path.join(BASE_DIR, file_name) -
切割路径:
os.path.split(path) -
判断当前路径是否是文件:
os.path.isfile(path) -
判断当前路径是否为绝对路径:os.path.abspath
-
判断当前路径是否为路径:os.path.isdir





















