跳转至

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”读取器读取了该文件中的所有行,并将它们输出到控制台。最后在代码块结束时,文件将自动关闭并且缓冲区也会刷新。