山地人

Python 目录和文件管理

山地人
山地人
2021-07-18

这一讲主要讲解在Python中如何对目录和文件进行创建、移动、删除、重命名以及如何遍历目录中的文件。

目录

对于一个目录,它自己有一个路径。通过这个路径就可以找到这个目录。目录中通常会存放一些文件和一些其他目录。Python提供了一系列对目录和文件进行操作的接口。

接下来我们一点点展开学习。

获取当前目录

要获取当前目录,需要使用到os模块下的getcwd()函数。因为os模块并不是自动导入到Python环境中的,因此在使用os模块中的函数时,需要先导入这个模块。

import os
os.getcwd()

这里的getcwd中的cwd英文全称是current working directory。这个函数不需要任何参数,调用后可直接获取当前的工作目录。

修改当前目录

切换到其他目录,可以使用os.chdir(path)函数来实现。这里的path就是要切换的目录。

import os
# 切换到`/etc`目录
os.chdir('/etc')
# 查看当前路径
os.getcwd()

遍历目录中的文件

很多时候,我们希望能拿到指定目录下的文件列表,Python通过listdir()方法来获取指定路径下的文件列表。

os.listdir(path)

运行程序,查看文件列表的获取情况。

创建新目录

你可以通过mkdir(path)方法来创建目录。这里的path是你要创建的目录的路径,你可以使用相对路径或者绝对路径的方式来创建目录。

import os
# 在当前目录下创建work目录
os.mkdir("work")
# 用绝对路径的写法创建test目录
os.mkdir("/home/test")

运行程序,查看目录的创建情况。

删除目录或文件

Python中对于文件和目录的删除有不同的方法来处理:

  • 删除文件,可以通过remove(path)方法来删除。
  • 删除目录,可以通过rmdir(path)的方式来删除。当然前提是这个目录必须是空目录才行。

对于非空目录的删除,可以使用下面的shutil.rmtree来处理:

import shutil
shutil.rmtree('/folder_name', ignore_errors=True)

运行下面的沙盒,观察结果。

重命名目录或文件

不管是目录还是文件,进行重命名都是通过rename(path)方法来实现。

import os
os.rename("test.txt","hello.txt")
os.rename("test","hello")

至此,本篇教程也到了该和你说再见的时候了,我们下期再见。

学完本篇互动教程,如果你觉得体验不错,可以把网页链接发送给你的小伙伴,让他/她也来感受一下。当然,你也可以继续看看网站上其他的的互动教程,希望`idev365`能够给你带来收获。

学习教程的过程中碰到了问题,或者对idev365有什么改进意见和想法,欢迎加入idev365微信内测群,和山地人交流你的想法。