Python操作文本类
写入txt文件#
下面是一个使用“with”关键字和“open”函数打开文件并指定写入模式的示例:
with open("example.txt", "w") as f:
f.write("Hello, world!\n")
f.write("This is an example file.\n")
f.write("It is used to demonstrate file I/O in Python.\n")
在这个例子中,我们打开了一个名为“example.txt”的文件,它处于写入模式。“with”关键字在代码块结束时自动关闭文件,从而防止意外的文件句柄泄漏,并在写入完所有数据后刷新缓冲区。然后使用“write”方法向文件中写入三个字符串。 注意,在这个例子中,“write”方法不会自动添加换行符。因此,每个字符串后都要加了“ n”以手动添加换行符。
open函数#
“open”函数是Python的一个内置函数,常用于打开文件和创建文件对象。它提供了一个统一的接口来操作不同类型的文件,并允许您指定读取文件时采用的编码格式和文件打开模式等选项。下面是“open”函数的基本用法及其参数:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
-
“file”参数是包含文件名的字符串,它指定要打开的文件的路径。文件可以是绝对路径或相对路径,以及支持各种操作系统的文件名约定。
-
“mode”参数是一个可选字符串,它指定文件的打开模式。默认为“r”。其他可能的选项包括:
- “r”:表示文件以只读模式打开
- “w”:覆盖写入模式,用于清空文件内容并将新数据写入文件中。
- “a”:附加写入模式,用于在文件末尾添加新数据。
- “x”:排它性创建,如果文件已经存在,则会引发错误。
- “b”:二进制模式,用于以二进制格式打开文件。
- “buffering”参数是一个可选的整数,它指定了使用的缓冲区大小。默认情况下,它为-1,表示使用默认大小。0表示不使用缓冲(直接读取文件)。正数值则表示使用固定大小的缓冲区。
- “encoding”参数是一个可选的字符串,它指定要用于读取或写入文件的字符编码。默认为None,表示使用系统默认编码。
- “errors”参数是一个可选的字符串,它指定如何处理通过编码或解码文件时引发的错误。默认为None,表示使用默认错误处理机制。
- “newline”参数是一个可选的字符串,它指定行结束符。默认情况下,它为None,表示使用系统默认行结束符。
- “closefd”参数是一个布尔值,表示在关闭文件时是否也关闭底层文件描述符。默认为True。
- “opener”参数是一个可选的文件打开器函数,该函数用于为文件分配底层文件描述符。默认为None,表示使用内置的“open”函数。
例如,下面的代码演示如何使用“open”函数打开一个CSV文件并以只读模式读取其中的数据:
Copy code
import csv with open('data.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
print(row)
在这个例子中,我们使用了“with”关键字搭配“open”函数打开了一个名为“data.csv”的文件,并指定文件打开模式为只读模式。然后使用“csv.reader”读取器读取了该文件中的所有行,并将它们输出到控制台。最后在代码块结束时,文件将自动关闭并且缓冲区也会刷新。