Python 文件操作与输入输出:读写文件、目录管理完全指南
通过本教程,您将掌握 Python 中的文件操作与输入输出(I/O)技巧。学习如何打开、读取、写入文件,使用 os 和 shutil 模块进行文件路径管理、文件复制与移动。结合实例,您将能轻松进行文件操作,提升项目中的文件管理效率。
详细教程内容:Python 文件操作与输入输出
1. 文件操作
- 打开文件:
open(),with语句:在 Python 中,文件操作通常使用open()函数来打开文件,with语句可以确保文件操作完毕后正确关闭文件。 示例:
# 使用 open() 打开文件
file = open("example.txt", "w") # 打开文件进行写入操作
file.write("Hello, Python!") # 写入内容
file.close() # 关闭文件
# 使用 with 语句打开文件(推荐)
with open("example.txt", "w") as file:
file.write("Hello, Python with context manager!")
open() 函数的常见模式:
"r":只读"w":写入(如果文件不存在,创建文件;如果文件已存在,清空文件内容)"a":追加(在文件末尾添加内容)"b":二进制模式"rb"、"wb"等:二进制文件操作
2. 文件读取:read(),readline(),readlines()
read():一次性读取文件的全部内容。 示例:
with open("example.txt", "r") as file:
content = file.read()
print(content) # 输出文件的全部内容
readline():每次读取一行。 示例:
with open("example.txt", "r") as file:
line = file.readline()
while line:
print(line.strip()) # 去除换行符
line = file.readline()
readlines():将文件的所有行作为列表返回。 示例:
with open("example.txt", "r") as file:
lines = file.readlines()
for line in lines:
print(line.strip()) # 去除换行符
3. 文件写入:write(),writelines()
write():将指定内容写入文件。 示例:
with open("example.txt", "w") as file:
file.write("This is a line of text.\n")
writelines():将一个序列的内容写入文件(如列表)。 示例:
lines = ["Line 1\n", "Line 2\n", "Line 3\n"]
with open("example.txt", "w") as file:
file.writelines(lines)
4. 文件关闭与文件指针位置
- 在文件操作结束后,调用
close()关闭文件,释放系统资源。如果使用with语句,则会自动关闭文件。 - 文件指针:每次读取文件时,文件指针会向下移动,读取下一个位置的内容。 示例:
with open("example.txt", "r") as file:
print(file.tell()) # 获取当前文件指针的位置
content = file.read(5) # 读取 5 个字符
print(file.tell()) # 再次获取文件指针的位置
5. 文件和目录操作
os模块:用于处理文件路径、创建、删除、重命名文件和目录等操作。 示例:
import os
# 获取当前工作目录
print(os.getcwd()) # 输出当前工作目录
# 创建目录
os.mkdir("new_directory") # 创建新目录
# 删除文件
os.remove("example.txt") # 删除文件
# 重命名文件
os.rename("old_name.txt", "new_name.txt") # 重命名文件
# 列出目录中的文件和文件夹
print(os.listdir(".")) # 输出当前目录下的所有文件和文件夹
shutil模块:提供了高级文件操作,如复制、移动、删除文件。 示例:
import shutil
# 复制文件
shutil.copy("source.txt", "destination.txt") # 复制文件
# 复制目录及其内容
shutil.copytree("source_directory", "destination_directory") # 复制目录
# 移动文件
shutil.move("source.txt", "new_location.txt") # 移动文件
# 删除目录及其内容
shutil.rmtree("directory_to_remove") # 删除目录及其所有内容
通过本教程,您将掌握 Python 中文件操作的基础与进阶技巧,学会如何打开、读取、写入文件,并有效地管理文件和目录。此外,您还将学习如何使用 os 和 shutil 模块来进行文件路径操作、复制、移动等高级文件管理任务。这些技能对于处理项目中的数据文件和文件系统操作至关重要。