文件操作 2:文件、文件夹操作进阶,玩转文件处理技巧!
- 公众号:人生只不过是一场投资
- 温馨提示:每个笔记文档都会绑定一个笔记资源;手机端可能看不到,网页端请自行下载。
还记得上节课我们学习了如何用 Python 读取和写入文件吗?
这次,我们将探索更多实用技巧,让你成为文件处理达人! 😎
前言
上一节课我们学习了使用 open()
函数打开文件,并使用 read()
、 write()
等方法进行基本的读写操作。
这次,我们将学习一些更高级的操作,例如:
- 文件指针: 自由控制读取位置
- 二进制文件: 处理图片、音频等非文本文件
- 文件和目录管理: 创建、删除、重命名文件和目录
一、 文件指针:精确定位读取位置
文件指针就像书签一样,标记着当前读取的位置。
tell()
方法:获取当前文件指针的位置。seek()
方法:将文件指针移动到指定位置。
# 打开文件
file = open('my_file.txt', 'r')
# 获取当前文件指针位置
position = file.tell()
print(f"Current position: {position}") # 输出:0
# 读取一行
line = file.readline()
print(f"Read line: {line}")
# 再次获取文件指针位置
position = file.tell()
print(f"Current position: {position}") # 输出:行长度 + 1 (因为换行符)
# 将文件指针移动到文件开头
file.seek(0)
# 再次读取一行
line = file.readline()
print(f"Read line: {line}") # 输出:第一行内容
# 关闭文件
file.close()
二、 二进制文件:处理非文本数据
除了文本文件,我们还可以使用 Python 处理图片、音频等二进制文件。
# 读取图片
with open('my_image.jpg', 'rb') as image_file:
image_data = image_file.read()
# 处理图片数据...
# 写入图片
with open('new_image.jpg', 'wb') as new_image_file:
new_image_file.write(image_data)
注意: 打开二进制文件时,需要在文件模式中添加 'b'
。
三、 文件和目录管理:操作系统交互
Python 提供 os
模块,可以让我们与操作系统进行交互,例如创建、删除、重命名文件和目录。
3.1 文件操作
os.rename(old_name, new_name)
:重命名文件。os.remove(filename)
:删除文件。
3.2 目录操作
os.mkdir(dirname)
:创建目录。os.rmdir(dirname)
:删除空目录。os.chdir(path)
:切换当前工作目录。os.getcwd()
:获取当前工作目录。os.listdir(path)
:列出指定目录下的所有文件和子目录。
import os
# 创建目录
os.mkdir('my_folder')
# 切换到新目录
os.chdir('my_folder')
# 创建文件
with open('my_file.txt', 'w') as file:
file.write("Hello from my_file.txt!")
# 列出当前目录下的文件和目录
print(os.listdir()) # 输出:['my_file.txt']
# 删除文件
os.remove('my_file.txt')
# 切换回上一级目录
os.chdir('..')
# 删除目录
os.rmdir('my_folder')
总结
- 使用文件指针可以精确定位文件读取位置。
- 使用二进制模式可以处理图片、音频等非文本文件。
- 使用
os
模块可以进行文件和目录管理。
掌握了这些技巧,你就可以像操作普通文件一样,轻松处理各种类型的数据,让你的 Python 程序更加强大! 🚀