Python学习笔记六(文件操作)

传送门: 

Python学习笔记三(面向对象)-CSDN博客

Python学习笔记四(面向对象)-CSDN博客

python学习笔记五(面向对象实战版)-CSDN博客

Python学习笔记七(错误与异常)-CSDN博客 

目录

一、前言

二、文件路径

三、绝对路径和相对路径

四、文件基本操作

4.1 删除文件

4.2 打开文件

4.3 写入文件

 4.4读取文件内容

 4.5 打开文件后一定要关闭吗?

五、文件定位

六、常用文件模块 

6.1 fileinput 模块

6.2 linecache 模块

6.3 os.path模块

 6.4 fnmatch模块


一、前言

python内置了一些文件操作函数,可以通过代码来对文件进行创建、读、写、关闭等操作。除此之外,Python 还提供了很多模块,例如 fileinput 模块、pathlib 模块等,通过引入这些模块,我们可以获得大量实现文件操作可用的函数和方法(类属性和类方法),大大提供编写代码的效率。在熟练后,我们也可以通过编写代码来对文件进行数据处理。

二、文件路径

由于本篇是面向初学者,所以我们先来介绍一下文件路径,这个很重要,我们在对文件进行操作时,需要定位到文件,但对于计算机来说,只有把路径写对,它才能定位到正确的文件。

关于文件,它有两个关键属性,分别是“文件名”“路径”。其中,文件名指的是为每个文件设定的名称,而路径则用来指明文件在计算机上的位置。

在 Windows 上,路径书写使用反斜杠 "\" 作为文件夹之间的分隔符。

三、绝对路径和相对路径

在介绍这个之前,我们需要了解什么叫当前工作目录。比如说,你的D盘有ABC三个文件夹,分别放了a.py,b.py,c.py文件,(a文件放A,b文件放B,c文件放C)。此时我们进入D盘:D:\,这个就是根目录,如果我们需要运行a.py文件,那么需要进入A文件夹,找到a.py文件,那么D:\A就是当前工作目录。

接下来介绍绝对路径和相对路径,文件的路径有着两种表示方法:

绝对路径:总是从根文件夹开始,Window 系统中以盘符(C:、D:)作为根文件夹

相对路径:指的是文件相对于当前工作目录所在的位置。例如,当前工作目录为 "D:\A",则 a.py的相对路径表示为 ".\demo.txt"(其中 .\ 就表示当前所在目录)。在使用相对路径表示某文件所在的位置时,除了经常使用 .\ 表示当前所在目录之外,还会用到 ..\ 表示当前所在目录的父目录。比如说这个栗子,..\就会定位到D:\

四、文件基本操作

4.1 删除文件

对文件可以进行的操作有很多,基本的就是增删改查。对于文件的修改,我们可以使用os、sys模块,并调用模块中的指定函数来实现。

import os
os.remove("a.py")

这样就可以删除a文件。

4.2 打开文件

如果想要操作文件,首先需要创建或者打开指定的文件,并创建一个文件对象,而这些工作可以通过内置的 open() 函数实现。

语法格式:

file = open(file_name [, mode='r' [ , buffering=-1 [ , encoding = None ]]])
  • file:表示要创建的文件对象。
  • file_name:要创建或打开文件的文件名称,该名称要用引号(单引号或双引号都可以)括起来。需要注意的是,如果要打开的文件和当前执行的代码文件位于同一目录,则直接写文件名即可;否则,此参数需要指定打开文件所在的完整路径。
  • mode:可选参数,用于指定文件的打开模式。可选的打开模式如表 1 所示。如果不写,则默认以只读(r)模式打开文件。
  • buffering:可选参数,用于指定对文件做读写操作时,是否使用缓冲区(本节后续会详细介绍)
  • encoding:手动设定打开文件时所使用的编码格式,不同平台的 ecoding 参数值也不同,以 Windows 为例,其默认 GBK 编码

mode模式分类: 

模式 描述
r 读取(默认)
w 写入,并先截断文件
x 排它性创建,如果文件已存在则失败
a 写入,如果文件存在则在末尾追加
b 二进制模式
t 文本模式(默认)
+ 更新磁盘文件(读取并写入)

 比如我们创建一个test.txt的文件

#创建
open('test.txt', mode='w',encoding='utf-8')

4.3 写入文件

当我们创建一个txt文件时,这个文件为空,里面什么内容都没有,我们就要进行写入,即增删改查中的改。 

python提供了两个函数ÿ