Python 写入文件的方法
1. 概述
在编程中,经常需要将数据写入文件,以便进行后续处理或长期保存。Python 提供了多种写入文件的方法,本文将详细介绍这些方法的使用。
2. 写入文本文件
2.1 打开文件
在 Python 中使用内置的 open()
函数来打开文件。需要传入两个参数,第一个参数为文件路径,第二个参数为打开文件的模式。常用的模式有:
'w'
:写入模式,如果文件存在则覆盖,如果文件不存在则创建新文件。'a'
:追加模式,如果文件存在则在文件末尾追加新内容,如果文件不存在则创建新文件。'r+'
:读写模式,既可以读取文件内容,也可以写入新内容。
示例代码如下:
file = open('data.txt', 'w')
2.2 写入内容
打开文件后,可以使用 write()
方法写入内容。需要注意以下几点:
write()
方法只接受字符串类型的参数,如果需要写入其他类型的数据,需要进行类型转换。write()
方法会将内容写入文件缓冲区,不会立即写入文件,所以需要调用flush()
方法或close()
方法将内容写入文件。- 可以使用
writelines()
方法一次写入多行数据,该方法接受一个字符串列表作为参数。
示例代码如下:
file.write('Hello, World!\n')
file.write(str(12345) + '\n')
file.writelines(['apple\n', 'banana\n', 'orange\n'])
file.flush()
2.3 关闭文件
使用完文件后,需要调用 close()
方法关闭文件,释放资源。推荐使用 with
语句来自动关闭文件,避免忘记关闭文件带来的问题。
示例代码如下:
file.close()
3. 写入二进制文件
3.1 打开文件
打开二进制文件时,需要指定打开文件的模式为 'wb'
,表示二进制写入模式。
示例代码如下:
file = open('data.bin', 'wb')
3.2 写入内容
与文本文件不同,二进制文件可以直接写入字节型数据,无需进行类型转换。可以使用 write()
方法一次写入一个字节,或一次写入多个字节。
示例代码如下:
file.write(b'\xff\xfe\x00\x01')
file.writelines([b'\x00\x00', b'\x01\x01'])
file.flush()
3.3 关闭文件
关闭文件的方法与文本文件相同。
示例代码如下:
file.close()
4. 写入 CSV 文件
4.1 引入模块
在写入 CSV 文件之前,需要使用 csv
模块。可以使用以下代码引入 csv
模块:
import csv
4.2 打开文件
打开 CSV 文件时,需要指定打开文件的模式为 'w'
。
示例代码如下:
file = open('data.csv', 'w', newline='')
4.3 创建 CSV 写入器
使用 csv.writer()
方法创建一个 CSV 写入器。可以传入一个文件对象和一些可选的参数,例如分隔符,引号字符等。
示例代码如下:
writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
4.4 写入行数据
通过 CSV 写入器的 writerow()
方法可以写入一行数据。
示例代码如下:
writer.writerow(['Name', 'Age', 'Score'])
writer.writerow(['John', '25', '90'])
writer.writerow(['Sarah', '23', '85'])
4.5 关闭文件
关闭文件的方法与文本文件相同。
示例代码如下:
file.close()
5. 总结
本文介绍了 Python 中写入文件的常用方法,包括写入文本文件、二进制文件和 CSV 文件。不同类型的文件需要使用不同的方法和模式来进行写入操作。在写入文件时,要注意及时关闭文件以释放资源。