Python 文件处理指南

liftword2个月前 (03-03)技术文章15

在编程 里,文件处理是非常重要的一部分。无论是数据存储、文档管理,还是日志记录,都离不开对文件的操作。而Python作为一个强大的脚本语言,在文件处理方面提供了丰富的功能和灵活性。本文将从基础到应用,全面介绍Python文件处理的方法,并通过实际案例展示使用场景。

1. 打开文件

根据文件类型和操作模式选择合适的函数。

file = open("file.txt", "r") # 读取模式,按默认编码打开

file = open("file.txt", "w") # 写入模式,如果不存在则创建新文件,默认编码

二进制文件:

file = open("image.jpg", "rb") # 二进制读取模式

file2 = open("new_image.jpg", "wb") # 二进制写入模式

2. 读取文件内容(Reading File Content)

逐行读取文本:

with open("file.txt", "r") as file:

content = file.read()

处理特定行或数据:

csv_file = open("data.csv", "r")

reader = csv.reader(csv_file)

for row in reader:

print(row) # 解析并输出每一行数据

3. 写入文件内容

直接写入:

file.write("写入的新内容。\n")

写入二进制数据:

# 假设content是已读取的二进制数据:

file = open("new_image.jpg", "wb")

file.write(content)

4. 关闭文件

使用close()方法释放资源。

file.close()

5. 处理多个文件或目录

使用os.listdir()获取目录下的所有文件,然后根据需求处理每个文件。

列出并压缩所有文档:

import os, shutil

document_root = "/path/to/documents/"

for filename in os.listdir(document_root):

if filename.endswith((".docx", ".xlsx")):

output_path = os.path.join(document_root, filename + ".encrypted")

shutil.make_archive(

base_name=filename,

format="zip",

root_dir=document_root,

filename=filename

)

os.rename(output_path, os.path.join(output_path, filename))

6. 处理错误和异常

使用try...except块来管理可能的文件操作错误。

try:

with open("non_existent_file.txt", "r") as file:

content = file.read()

except FileNotFoundError:

print("文件不存在。")

except Exception as e:

print(f"发生了错误:{e}")

finally:

if 'file' in locals():

file.close()

7. 使用第三方库进行复杂操作

对于涉及数据库或其他复杂处理,推荐使用如Pandas、SQLite等库。

import pandas as pd

# 读取并解析CSV文件:

file_path = "data.csv"

df = pd.read_csv(file_path)

print(df.head()) # 查看前几行数据

8. 自定义函数进行批量操作

根据需要创建函数,处理大量或特定格式的文件。

import os

def process_image(image_path, output_path):

file = open(image_path, "rb")

content = file.read()

with open(output_path, "wb") as new_file:

new_file.write(content)

file.close()

# 处理指定目录下的所有图片:

base_dir = "/path/to/images/"

for file in os.listdir(base_dir):

if file.endswith(".jpg"):

input_path = os.path.join(base_dir, file)

output_path = os.path.join("processed_images", file)

process_image(input_path, output_path)

print(f"已处理{os.listdir('processed_images')}个图片。")

9. 安装与更新工具

通过pip安装必要的库,以支持更复杂的文件操作。

pip install requests # 示例安装常用库

以上是一些基础到文件操作,您可以根据具体需求来调整和扩展。

相关文章

最全RAR文件操作指南:如何用Python压缩、解压与筛选文件

引言:Python 对 .rar 文件进行压缩、解压以及筛选特定文件的操作代码封装一下import os import rarfile #todo 用于处理 RAR 文件 import zipfil...

20 天学 Python 文件操作:Day 8 压缩与解压文件

在日常开发中,压缩和解压文件是处理文件操作的常见需求。Python 提供了丰富的内置模块,比如 zipfile 和 shutil,让我们能够高效地压缩和解压文件。今天我们将学习如何使用这些模块进行操作...

Python全能压缩:ZIP的压缩、解压、文件筛选与删除,一键搞定!

引言:这个方法实现了文件压缩与解压的常见操作,涵盖内容如下:1、从文件夹创建 ZIP 文件 2、从文件夹创建 ZIP 文件(筛选特定文件) 3、解压 ZIP 文件中的所有内容 4、解压 ZIP...

15《Python 办公自动化教程》文件压缩与解压缩

压缩包也是我们平时工作中经常要接触到的文件格式,压缩文件后缀名通常有 .zip、.rar、.7z 等等。Python 中也有专门用来操作压缩包文件的第三方模块 zipfile。听这个名字就知道是用来操...

小明用Python暴力破解压缩文件zip密码,省了250块钱

那天晚上小明和你一样在某个小网站上搜寻某些私密的学习资料突然看到论坛有人提供了一个非常牛逼的资源小明怀着激动的心情下载了下来他怀着激动的心情打开了这个压缩文件看到就只有这么一个 txt 小明就是一顿双...

Python 实现图片大小压缩

起因截图组件配合验证码使用优化建议既然没人帮忙解决只能自己动手了小白先直接献上代码from PIL import Imageimport osdef compress_image(infile, ou...