Python IO操作全解析:轻松掌握文件读写技巧

文件操作基础
在Python中,文件操作是IO(Input/Output)操作的重要组成部分。正确地使用文件操作可以有效地处理数据,提高程序的效率。以下是文件操作的一些基本概念和技巧。
打开文件
要访问文件,首先需要使用
open
函数打开它。
open
函数的语法如下:
open(filename, mode=’r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
filename
: 文件名,可以是绝对路径或相对路径。
mode
: 文件打开模式,例如:
‘r’
: 读取模式,默认值。
‘w’
: 写入模式,如果文件存在则覆盖,如果不存在则创建。
‘a’
: 追加模式,如果文件存在则在文件末尾追加内容,如果不存在则创建。
‘b’
: 二进制模式。
‘t’
: 文本模式,默认值。
buffering
: 缓冲区大小。
encoding
: 文件编码,例如
‘utf-8’
。
errors
: 错误处理方式。
newline
: 处理行结束符。
文件读取
文件打开后,可以使用以下方法读取内容:
read()
: 读取整个文件内容。
readline()
: 读取一行内容。
readlines()
: 读取所有行,返回一个列表。
with open(‘example.txt’, ‘r’) as file:
content = file.read()
print(content)
文件写入
文件写入可以使用以下方法:
write()
: 写入字符串或字节。
writelines()
: 写入一个字符串列表。
with open(‘example.txt’, ‘w’) as file:
file.write(‘Hello, World!’)
文件追加
追加模式
‘a’
允许你在文件末尾添加内容,而不会覆盖原有内容。
with open(‘example.txt’, ‘a’) as file:
file.write(‘\nThis is an appended line.’)
文件关闭
无论读写操作是否成功,都应该在完成后关闭文件。Python 使用
with
语句自动处理文件关闭。
with open(‘example.txt’, ‘r’) as file:
content = file.read()
print(content)
# 文件会在with块结束时自动关闭
异常处理
文件操作可能遇到各种异常,如
FileNotFoundError
和
IOError
。使用
try…except
语句可以捕获并处理这些异常。
try:
with open(‘nonexistent.txt’, ‘r’) as file:
content = file.read()
print(content)
except FileNotFoundError:
print(‘File does not exist.’)
StringIO和BytesIO
StringIO
和
BytesIO
是Python的内置类,用于在内存中创建文件对象。
StringIO
StringIO
用于处理文本数据。以下是一个示例:
from io import StringIO

s = StringIO()
s.write(‘Hello, World!\n’)
s.write(‘This is a test.\n’)
print(s.getvalue())
BytesIO
BytesIO
用于处理二进制数据。以下是一个示例:
from io import BytesIO

b = BytesIO()
b.write(b’Hello, World!\n’)
b.write(b’This is a test.\n’)
print(b.getvalue())
总结
通过以上内容,你应该对Python的文件IO操作有了基本的了解。掌握文件读写技巧对于编写高效、健壮的Python程序至关重要。记住,使用
with
语句可以简化文件操作,并确保文件在操作完成后被正确关闭。