Python中的文件读写操作详解
Python是一种简单易学、灵活、高效的编程语言,被广泛应用于数据分析、机器学习、Web开发、自动化测试等领域。在Python中,文件读写是开发中常用的一种操作。文件读写操作可以读取文件中的数据,也可以向文件中写入数据。本文将介绍Python中的文件读写操作。
一、文件读取
在Python中,可以使用open()函数打开文件,并返回一个文件对象。open()函数的语法如下:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
其中,file为文件名或路径;mode指定文件的打开模式,默认为‘r’(只读模式);buffering指定缓冲区大小,默认为-1(系统默认缓冲区大小)。
在打开文件以后,可以使用read()方法读取文件中的内容。read()方法语法如下:
file_object.read([size])
其中,size为可选参数,指定要读取的字符数。
示例代码:
filename = 'test.txt'
with open(filename, 'r') as f:
data = f.read()
print(data)
二、文件写入
Python中也可以使用open()函数打开文件,并且可以使用write()方法向文件中写入数据。write()方法默认向文件中写入字符串,只有写入二进制数据时需要指定'wb'模式。示例代码:
filename = 'output.txt'
with open(filename, 'w') as f:
f.write('Hello, world!')
当文件打开模式为‘w’(写模式)时,如果文件不存在则创建一个新文件;如果文件已经存在,则清空其中的内容。
除了使用write()方法写入文件,Python也可以使用print()函数写入文件。示例代码:
filename = 'output.txt'
with open(filename, 'w') as f:
print('Hello, world!', file=f)
三、分隔符
在向文件中写入多个字符串时,可以使用分隔符来分隔数据,例如','或'\\t',如果不指定分隔符,则默认使用空格。示例代码:
filename = 'output.txt'
with open(filename, 'w') as f:
print('John', 'Doe', 2020, sep=',', file=f)
四、文件迭代
Python中的文件对象是可迭代的,可以使用循环语句遍历文件中每一行的数据。示例代码:
filename = 'test.txt'
with open(filename, 'r') as f:
for line in f:
print(line.strip())
五、关闭文件
在使用open()函数打开文件并读取或写入数据后,必须使用close()方法关闭文件,以释放系统资源。示例代码:
filename = 'test.txt'
f = open(filename, 'r')
data = f.read()
f.close()
六、异常处理
在使用文件读写操作时,既可能出现读取或写入文件失败的情况,也可能出现权限不足或文件不存在等问题。因此,在进行文件读写操作时,需要使用try/except语句来捕捉异常并进行处理。示例代码:
filename = 'test.txt'
try:
f = open(filename, 'r')
except FileNotFoundError:
print('File not found!')
except PermissionError:
print('Permission denied!')
else:
data = f.read()
f.close()
总结
在Python中,文件读写操作是开发中常用的一种操作,Python提供了丰富的文件读写操作方法,如open()函数、read()方法、write()方法、print()函数、close()方法等。此外,开发中需要对文件不存在和权限不足等异常进行处理,以保证程序的健壮性。
