Python 文件操作

Jinku Hu 2023年1月30日
  1. 打开文件
  2. 关闭文件
  3. 文件对象
  4. 写入文件
  5. 读取文件
  6. 重命名和删除文件
Python 文件操作

在本节中,我们将来学习 Python 中的文件操作。

在 Python 中,你可以打开、读取或写入文件,然后最终关闭文件。这些可以通过使用一些文件操作函数来完成。要对文件执行任何操作,你必须首先创建文件对象。

打开文件

一个文件可以使用 open() 函数来打开,Python 自动随之就创建一个文件对象,用于稍后对该文件执行操作。

打开文件的语法如下,

obj = open(fileName, mode)

fileName 是文件名,mode 定义了文件打开的模式,例如 r 是以只读模式来打开文件。

fobj = open("PythonExamplefile.txt", "r")

文件打开模式

模式 含义
r 读取模式
rb 读取模式下二进制格式在
r+ 读写模式
rb+ 读写模式下二进制格式
w 写入模式。如果该文件不存在,将创建一个新文件。如果文件存在,则会被覆盖
wb 写入模式下二进制格式。如果该文件不存在,将创建一个新文件。如果文件存在,则会被覆盖
w+ 读写模式。如果该文件不存在,将创建一个用于读写的新文件。如果文件存在,则会被覆盖
wb+ 读写模式下二进制格式。如果该文件不存在,将创建一个用于读写的新文件。如果文件存在,则会被覆盖
a 追加模式。新数据将写在文件末尾。如果该文件不存在,将创建一个用于写入的新文件
ab 追加模式下二进制格式。新数据将写在文件末尾。如果该文件不存在,将创建一个用于读写的新文件
a+ 追加和读写模式。新数据将写在文件末尾。如果该文件不存在,将创建一个用于读写的新文件
ab+ 追加和读写模式。新数据将写在文件末尾。如果该文件不存在,将创建一个用于读写的新文件

关闭文件

文件在执行操作后,必须要关闭,通过文件对象的 close() 方法来关闭。

fobj.close()
fobj = open("PythonExamplefile.txt", "r")
# operations on file
fobj.close()

文件对象

打开文件时,会创建一个可用于执行操作的文件对象。你可以通过它来获取有关文件的信息,例如文件名、打开模式等。

fobj = open("PythonExamplefile.txt", "r")
print("File name", fobj.name)
print("File mode", fobj.mode)
fobj.close()
File name PythonExamplefile.txt
File mode r

写入文件

write() 方法用于向文件中写入内容,文件必须在打开后才能写入。

使用 write() 方法的语法如下:

fobj.write("string")

举个例子,

fobj = open("PythonExamplefile.txt", "w")
fobj.write("Hello Python Programming")
fobj.close()

Hello Python Programming 会被写入到文件 PythonExamplefile.txt 中,假如原来文件中有内容,就会被覆盖掉。

读取文件

你可以使用 read() 方法来读取文件。下面是从文件中读取的语法:

fobj.read(numberofBytes)

这里 numberofBytes 是从文件中读取的总字节数。

fobj = open("PythonExamplefile.txt", "r")
content = fobj.read(5)
print(content)
fobj.close()
Hello

重命名和删除文件

重命名文件

rename() 方法用于重命名文件,其语法如下,

os.rename(currentName, newName)

这里,os 是一个模块,它允许你执行依赖于操作系统的功能。

举例如下,

import os

os.rename("PythonExamplefile.txt", "Python.txt")

Python.txt 该文件的新名称。

删除文件

文件可以通过 remove() 方法来删除,其语法如下,

os.remove(nameofFile)

举例如下,

import os

os.remove("Python.txt")
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

DelftStack.com 创始人。Jinku 在机器人和汽车行业工作了8多年。他在自动测试、远程测试及从耐久性测试中创建报告时磨练了自己的编程技能。他拥有电气/电子工程背景,但他也扩展了自己的兴趣到嵌入式电子、嵌入式编程以及前端和后端编程。

LinkedIn Facebook