当前位置:首页>python>Python学习笔记——从入门到报废(二十、文件(上))

Python学习笔记——从入门到报废(二十、文件(上))

  • 2026-10-11 08:31:07
Python学习笔记——从入门到报废(二十、文件(上))
文件是操作系统的必备部分,也是编程需要频繁操作的内容,例如我们需要从文件中读取大量数据,或者将程序日志保存到文件中便于后续纠错。本章节,我们讲一讲如何Python中处理文件的常用形式。

一、绝对路径和相对路径

程序操作某个文件,首先需要知道某个文件的位置,因此我们先简单讲一下文件路径。

文件路径分为绝对路径和相对路径:前者是完整路径,即系统根地址开始查询存储某个文件时的完整路径访问过程;后者则是相对当前而言,如何找到目标文件。

举个例子,某个系统中存放了file1至file5共5个文件,存放位置如图,图中“xxx/”表示目录或文件夹:

注意,“/”表示根目录,Linux、MacOS等系统以“/”表示存放所有文件或目录的最高父目录,无论系统有几个磁盘,都统一至“/”进行管理。Windows则是通过C、D盘等名称作为当前磁盘的根文件夹,没有类似“/”的高于C、D盘的父文件夹。

若使用绝对路径找到file3.so文件,则需写为:/home/dir2/file3.so,若为Windows则写为:C:\home\dir2\file3.so,其中“.so”表示文件拓展名,需要写明。Windows同时支持使用斜杠“/”和反斜杠“\”来分隔路径中的文件夹,而Linux、MacOS则只支持“/”。为方便,后续涉及目录时,我们统一使用“/”。

假设dir1是Python工作目录,我们需要访问file3.so,除使用绝对路径外,还可以使用相对路径:../dir2/file3.so,其中“..”表示当前目录的父目录,此处即home。若访问file4.cpp,则可以写作:../../root/dir3/file4.cpp。若访问file1.txt,则可以使用相对路径:./file1.txt,直接写:file1.txt,“.”表示当前目录,可以省略。

二、文件的打开和关闭

(1)打开文件

Python提供了open函数(无需引入模块),用于打开某个文件,函数返回文件指针,用于对文件进行处理:

fp = open("dir/file.txt", mode="r", encoding="utf-8")

除文件路径作为参数外,常见会用到的两个参数为mode和encoding。其中,encoding用于控制文件的编码方式,例如某些文本文件是“GBK”等特殊编码格式,就需添加此参数。而mode主要用于控制文件的打开方式,常用的有以下几种:

  • r:只读,不能写入,默认模式。以只读方式打开文件,通常是文本文件,指针放在文件的开头。

  • w:只写,不能读取。如果文件已存在则打开并从头开始编辑,原有内容被删除。如果不存在,创建新文件。

  • a:追加。如果文件已存在,文件指针放在文件结尾,即新内容将会写到已有内容之后。如果不存在,则创建新文件。

  • rb:默认模式,类似“r”,但以二进制格式打开一个文件(例如图片、视频)用于只读。

  • wb:以二进制格式打开一个文件只用于写入,其他类似“w”。

  • ab:以二进制格式打开一个文件只用于追加,其他类似“a”。

  • r+:打开文件用于读写,文件指针放在文件开头。

  • w+:打开一个文件用于读写,其他类似“w”。

  • a+:类比“w+”。

(2)关闭文件

当文件操作完成时,建议使用close函数来关闭该文件,将对文件的修改从内存写入到磁盘,避免文件出错:

fp.close()

若害怕忘记调用close,则可以使用“with”语句,其会进行自动管理。同样需要注意对缩进的控制:

with open("dir/file.txt", mode="r", encoding="utf-8") as fp:    content = fp.read()print(content)

在with中的语句执行完后,解释器会自行调用close,释放文件指针,关闭文件。


往期回顾:

Python可视化Seaborn全攻略 | Part.5

Python学习笔记——从入门到报废(十九、第三方库(下))

绘图封神,Matplotlib全套教程|番外篇

Python学习笔记——从入门到报废(十八、第三方库(上))

最新文章

随机文章