Python 输入输出与文件处理: io、pickle、json、csv、os.path 模块详解

简介: Python 输入输出与文件处理: io、pickle、json、csv、os.path 模块详解

Python 提供了强大的输入输出和文件处理工具,通过 io、pickle 和 json 等模块,开发者可以轻松处理文件、序列化和反序列化数据,并在不同格式之间进行转换。在本文中,我们将深入介绍这些模块的用法和实际示例。


1. io 模块:强大的输入输出工具


io 模块提供了对文件 I/O 进行灵活处理的能力。它支持文本文件和二进制文件的读写操作,包括读取、写入、追加等。


示例 1:读取文本文件并打印内容

with open('file.txt', 'r') as file:
    content = file.read()
    print(content)


示例 2:写入数据到文件

with open('output.txt', 'w') as file:
    file.write('Hello, I/O!')


2. pickle 模块:对象序列化工具


pickle 可以将 Python 对象序列化为字节流,便于存储和传输,同时也能将字节流反序列化为 Python 对象。


示例 3:将对象序列化并保存到文件

import pickle

data = {'name': 'Alice', 'age': 30}
with open('data.pickle', 'wb') as file:
    pickle.dump(data, file)


示例 4:从文件中反序列化对象

with open('data.pickle', 'rb') as file:
    loaded_data = pickle.load(file)
    print(loaded_data)
    # 输出:{'name': 'Alice', 'age': 30}


3. json 模块:处理 JSON 数据


json 模块提供了处理 JSON 数据的工具,可以实现 JSON 数据的编码和解码。


示例 5:将 Python 数据转换为 JSON 字符串并保存到文件

import json

data = {'name': 'Bob', 'age': 25}
with open('data.json', 'w') as file:
    json.dump(data, file)


示例 6:从 JSON 文件中读取数据并解码为 Python 对象

with open('data.json', 'r') as file:
    loaded_data = json.load(file)
    print(loaded_data)
    # 输出:{'name': 'Bob', 'age': 25}


4. csv 模块:处理 CSV 文件


csv 模块专门用于读写 CSV(逗号分隔值)文件,能够方便地处理表格数据。


示例 7:读取 CSV 文件并处理数据

import csv

with open('data.csv', 'r') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)


示例 8:写入数据到 CSV 文件

data = [
    ['Name', 'Age'],
    ['Alice', 30],
    ['Bob', 25]
]

with open('output.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(data)


5. os.path 模块:路径操作工具


os.path 模块提供了对路径字符串进行操作的方法,包括路径拼接、文件名提取、检查文件是否存在等。


示例 9:路径操作和文件检查

import os

path = '/path/to/some/file.txt'

# 提取文件名
print(os.path.basename(path))  # 输出:file.txt

# 检查文件是否存在
print(os.path.exists(path))   # 输出:True

# 获取文件的绝对路径
print(os.path.abspath(path))  # 输出:/full/path/to/some/file.txt


以上示例详细介绍了 io、pickle 和 json等模块在文件读写、数据序列化和反序列化方面的用法。如处理 CSV 格式的表格数据、对文件路径进行操作等。通过这些模块,开发者能够轻松处理不同类型的文件和数据,实现数据的持久化存储、交换和恢复。


目录
相关文章
|
23天前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
214 7
|
27天前
|
JSON 算法 API
Python中的json模块:从基础到进阶的实用指南
本文深入解析Python内置json模块的使用,涵盖序列化与反序列化核心函数、参数配置、中文处理、自定义对象转换及异常处理,并介绍性能优化与第三方库扩展,助你高效实现JSON数据交互。(238字)
238 4
|
24天前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
187 0
|
25天前
|
XML JSON 数据处理
超越JSON:Python结构化数据处理模块全解析
本文深入解析Python中12个核心数据处理模块,涵盖csv、pandas、pickle、shelve、struct、configparser、xml、numpy、array、sqlite3和msgpack,覆盖表格处理、序列化、配置管理、科学计算等六大场景,结合真实案例与决策树,助你高效应对各类数据挑战。(238字)
130 0
|
Windows Python
|
Python Shell
python3中,os.path模块下常用的用法总结
abspath basename dirname exists getatime getctime getmtime getsize isabs isdir isfile islink ismount join realpath samefile sameopenfile split splitext abspath 返回一个目录的绝对路径 Return an absolute path.
1088 0
|
2月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
255 102

推荐镜像

更多