自学内容网 自学内容网

Open函数使用 Json与pickle Os模块

一. 文件操作与 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


原文地址:https://blog.csdn.net/2201_75782271/article/details/140530797

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!