本文共 2193 字,大约阅读时间需要 7 分钟。
作为一名开发者,熟悉操作系统模块os在Python中的使用是必不可少的。通过本文,我将为大家详细解释os模块的核心功能,并结合实际案例,展示其在文件操作中的应用。
os模块是Python中用于与操作系统交互的重要模块。它提供了多种函数,用于文件和目录的操作,如创建、读取、写入、删除文件和目录等。下面是常用函数的简要介绍:
os.remove("file_name"):删除指定文件或目录。os.rename("old_name", "new_name"):重命名文件或目录。os.stat("path/filename"):获取文件或目录的信息,如文件大小、修改时间等。os.listdir("directory_name"):列出指定目录下的所有文件和子目录。os.chdir("directory_name"):切换到指定目录。os.mkdir("new_directory") 和 os.rmdir("directory_name"):创建和删除目录。操作系统的路径处理与不同系统(如Windows和Linux)有所不同。为了统一处理路径,Python提供了os.path模块,用于规范化路径格式。
path = os.path.split('/Users/apple/PycharmProjects/1/1/赵一宁作业.py')print(path) # 输出: ('/Users/apple/PycharmProjects/1/1', '赵一宁作业.py')path = os.path.split('/Users/apple/PycharmProjects/1/1')print(path) # 输出: ('/Users/apple/PycharmProjects/1', '1') dir_path = os.path.dirname(__file__) # 获取当前脚本所在目录file_name = os.path.basename(__file__) # 获取当前脚本文件名
os.path.exists("文件夹路径") # 返回True或Falseos.path.isabs("文件路径") # 判断是否为绝对路径 json(JavaScript Object Notation,简称JSON)是一种轻量级的数据交换格式,广泛应用于前后端数据传输和存储。python支持将python数据结构序列化为json格式,并反序列化回python数据结构。
import jsondata = {'username': '赵一宁', 'age': 16}json_data = json.dumps(data, ensure_ascii=False)print(json_data) import jsonjson_data = '{"username": "赵一宁", "age": 16}'data = json.loads(json_data)print(data) str、int、float、bool、None、list、dict、tuple。为了满足特定需求,可以通过参数调整json输出格式:
indent:指定缩进量。sort_keys:排序字典键。ensure_ascii:是否使用ASCII字符编码。import jsondata = { 'user': {'name': '赵一宁', 'age': 16}, 'score': 85, 'grade': 'A'}json_str = json.dumps(data, sort_keys=True, indent=4, separators=(',', ':'))print(json_str) 除了json,pickle也是一个常用的序列化工具,支持几乎所有python数据类型。
import pickledata = {'key': 'value'}pickle_data = pickle.dumps(data)print(pickle_data)data_back = pickle.loads(pickle_data)print(data_back) 在使用json和pickle时,确保文件读写模式正确:
wb:写入字节流。rb:读取字节流。避免连续多次dump和load操作,防止文件损坏。
处理文件时,使用try-except块,避免EOFError异常。
通过本文的学习和实践,你应该对os模块和json序列化有了更深入的理解。如果有任何问题或建议,欢迎留言讨论!
转载地址:http://kkafk.baihongyu.com/