Python文件操作实战:读写文件,存储和处理数据
发布时间: 2024-06-20 21:03:33 阅读量: 82 订阅数: 32
Python 文件读写操作实例详解
5星 · 资源好评率100%
![Python文件操作实战:读写文件,存储和处理数据](https://img-blog.csdnimg.cn/584e56f1f18e4ba7889faa6a4a75eb4d.png)
# 1. Python文件操作基础**
Python提供了强大的文件操作功能,使开发者能够轻松地读取、写入和管理文件。本章将介绍文件操作的基础知识,包括:
- 文件路径和文件对象
- 打开、关闭和读取文件
- 文件读写模式
- 文件指针和定位
# 2. 文件读写与数据处理
### 2.1 文件读写操作
**文件打开**
```python
with open('data.txt', 'w') as f:
f.write('Hello, world!')
```
- `open()` 函数打开一个文件,并返回一个文件对象。
- 第一个参数是文件名,第二个参数指定打开模式。
- `'w'` 模式表示以写入模式打开文件,如果文件不存在,则创建它。
**文件写入**
```python
f.write('Hello, world!')
```
- `write()` 方法将数据写入文件。
- 数据可以是字符串、字节或字节数组。
**文件读取**
```python
with open('data.txt', 'r') as f:
data = f.read()
```
- `read()` 方法读取文件中的数据。
- 返回值是一个字符串,包含文件中的所有内容。
### 2.2 数据序列化与反序列化
**数据序列化**
将数据结构转换为可存储或传输的格式。
```python
import pickle
data = {'name': 'John Doe', 'age': 30}
with open('data.pkl', 'wb') as f:
pickle.dump(data, f)
```
- `pickle` 模块提供序列化和反序列化功能。
- `dump()` 方法将数据结构序列化为二进制数据并写入文件。
**数据反序列化**
将序列化数据还原为原始数据结构。
```python
with open('data.pkl', 'rb') as f:
data = pickle.load(f)
```
- `load()` 方法从文件中读取二进制数据并反序列化为数据结构。
### 2.3 数据结构的存储与读取
**JSON**
JSON(JavaScript对象表示法)是一种轻量级数据格式,广泛用于数据交换。
```python
import json
data = {'name': 'John Doe', 'age': 30}
with open('data.json', 'w') as f:
json.dump(data, f)
```
- `json` 模块提供 JSON 序列化和反序列化功能。
- `dump()` 方法将数据结构序列化为 JSON 字符串并写入文件。
**CSV**
CSV(逗号分隔值)是一种简单的数据格式,通常用于存储表格数据。
```python
import csv
data = [['John Doe', 30], ['Jane Doe', 25]]
with open('data.csv', 'w') as f:
writer = csv.writer(f)
writer.writerows(data)
```
- `csv` 模块提供 CSV 读写功能。
- `writer()` 方法创建一个 CSV 写入器对象。
- `writerows()` 方法将数据列表写入文件。
# 3. 文件管理与权限控制
### 3.1 文件系统操作
文件系统是计算机系统中组织和存储文件和目录的结构。Python提供了强大的文件系统操作模块,允许程序员与文件系统交互。
**文件系统操作模块**
Python中常用的文件系统操作模块包括:
- `os`:提供与操作系统交互的函数,包括文件系统操作。
- `pathlib`:提供面向对象的路径操作,简化了文件系统操作。
- `shutil`:提供高级文件系统操作,如复制、移动和删除文件。
**文件系统操作示例**
以下代码示例展示了使用`os`模块进行文件系统操作:
```python
import os
# 创建目录
os.mkdir('my_directory')
# 列出目录中的文件
files = os.listdir('my_directory')
# 删除文件
os.remove('my_file.txt')
# 重命名文件
os.rename('old_name.txt', 'new_name.txt')
```
### 3.2 文件权限管理
文件权限控制文件和目录的访问权限。Python提供了`os`模块中的一组函数来管理文件权限。
**文件权限模式**
文件权限使用八进制模式表示,其中每一位代表不同的权限:
- `r`:读取权限
- `w`:写入权限
- `x`:执行权限
- `s`:设置用户 ID 权限
- `t`:设置组 ID 权限
- `u`:用户权限
- `g`:组权限
- `o`:其他权限
**文件权限操作**
以下代码示例展示了使用`os`模块管理文件权限:
```python
import os
# 获取文件权限
permissions = os.stat('my_file.txt').st_mode
# 设置文件权限
os.chmod('my_file.txt', 0o755) # 用户可读写执行,组和其他人可读执行
```
### 3.3 文件
0
0