Python 3 – 文件方法

Python 3 – 文件方法

在Python编程中,文件操作是必备的技能之一。Python提供了方便且易于使用的方法来读写文件。在本文中,我们将学习Python 3中常用的文件方法。

打开文件

在Python中打开文件的方法是使用 open() 函数。open() 函数需要传入两个参数,第一个参数是文件路径,第二个参数是打开模式。打开模式有以下几种:

  • 'r':只读模式,默认值。如果文件不存在,会抛出异常。
  • 'w':写入模式。如果文件不存在,会创建一个新的文件;如果文件存在,会覆盖原有内容。
  • 'a':追加模式。如果文件不存在,会创建一个新的文件;如果文件存在,在文件末尾追加新内容。
  • 'x':独占写入模式。如果文件不存在,会创建一个新的文件;如果文件存在,会抛出异常。
# 打开文件示例
f = open("file.txt", "r")

在打开文件之后,可以调用以下方法来读写文件:

读取文件

  • read(size=-1):从文件中读取size个字符,如果没有指定size,则读取整个文件。
  • readline(size=-1):读取文件中的一行,如果没有指定size,则读取整行。
  • readlines():返回一个包含文件所有行的列表。
  • tell():返回文件指针的当前位置。
  • seek(offset, from):将文件指针移动到指定的位置。offset表示要移动的字节数,from可以为0表示从文件头部开始读取,为1表示从当前位置开始读取,为2表示从文件末尾开始读取。
# 读取文件示例
f = open("file.txt", "r")
print(f.read()) # 读取整个文件
f.close()

f = open("file.txt", "r")
print(f.readline()) # 读取一行
f.close()

f = open("file.txt", "r")
print(f.readlines()) # 读取所有行并存储在列表中
f.close()

f = open("file.txt", "r")
print(f.tell()) # 获取当前指针位置
f.seek(0, 0) # 将指针移动到文件开头
print(f.tell()) # 获取当前指针位置
f.close()

写入文件

  • write(string):将字符串写入文件。
  • writelines(sequence):向文件写入一个字符串序列。sequence 应该是一个返回字符串的可迭代对象,如果没有指定 newline 参数,每个字符串都将作为一行写入。
# 写入文件示例
f = open("file.txt", "w")
f.write("Hello World")
f.close()

f = open("file.txt", "a")
f.write("\nThis is a new line")
f.close()

seq = ["Line 1", "Line 2", "Line 3"]
f = open("file.txt", "w")
f.writelines(seq)
f.close()

关闭文件

完成对文件的操作后,需要使用 close() 方法来关闭文件。

# 关闭文件示例
f = open("file.txt", "r")
print(f.read())
f.close() # 关闭文件

使用 with 语句

使用 with 语句可以让操作文件更加简便,因为它会自动关闭文件。

with open("file.txt") as f:
    print(f.read())

文件指针位置

在读取文件时,文件指针会一直向前移动。可以通过调用 seek() 方法来将指针移到文件的任意位置。在调用 read() 方法之后,文件指针会处于读取的最后一个字符的位置。

f = open("file.txt", "r")
print(f.read(5)) # 读取前 5 个字符
print(f.read(10)) # 继续从第 6 个字符后读取 10 个字符
print(f.tell()) # 获取当前指针位置
f.seek(0, 0) # 从文件开头读取
print(f.read(15)) # 读取前 15 个字符
f.close()

自动识别文件编码

在使用 open() 函数时,可以指定编码格式。如果未指定编码方式,Python会尝试自动识别文件编码。自动识别文件编码有时可能会出现识别错误的情况,因此在读取文件时最好指定编码方式,以避免出现异常。

f = open("file.txt", encoding="utf-8")
print(f.read())
f.close()

使用 os 模块操作文件

Pythonos 模块提供了一些方法来操作文件。

  • rename():重命名文件。
  • remove():删除文件。
import os

# 重命名文件
os.rename("file.txt", "newfile.txt")

# 删除文件
os.remove("newfile.txt")

结论

在Python中,文件操作是必备的技能之一。Python提供了方便且易于使用的方法来读写文件。对于文件读取,我们可以使用 read()readline()readlines() 函数。对于文件写入,我们可以使用 write()writelines() 函数。完成对文件的操作后,需要使用 close() 方法来关闭文件。在读取文件时,如果没有指定编码方式,Python会尝试自动识别文件编码。在使用 open() 函数时,最好指定编码方式,以避免出现异常。除了使用 open() 函数操作文件之外,还可以使用 os 模块来进行文件操作。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程