跳到主要内容

Python 目录与文件管理

提示
  1. Python 文件和目录管理:使用 os 模块的方法,如 getcwd() 获取当前目录,chdir() 更改目录,listdir() 列出文件和目录。
  2. 创建和重命名:可以用 mkdir() 创建新目录,rename() 重命名文件或目录。
  3. 删除文件和目录:使用 remove() 删除文件,rmdir() 删除空目录,shutil.rmtree() 删除非空目录。

目录是文件和子目录的集合。位于目录内的目录被称为子目录。

Python 有一个名为 os模块,提供了许多处理目录(以及文件)的有用方法。

在 Python 中获取当前目录

我们可以使用 os 模块的 getcwd() 方法获取当前工作目录。

这个方法以字符串的形式返回当前工作目录。例如,

import os

print(os.getcwd())

# 输出: C:\Program Files\PyScripter

这里,getcwd() 以字符串形式返回当前目录。

在 Python 中更改目录

在 Python 中,我们可以使用 chdir() 方法更改当前工作目录。

我们想要更改的新路径必须作为字符串传递给此方法。我们可以使用正斜杠 / 或反斜杠 \ 来分隔路径元素。

看一个例子,

import os

# 更改目录
os.chdir('C:\\Python33')

print(os.getcwd())

输出: C:\Python33

这里,我们使用了 chdir() 方法更改了当前工作目录,并将新路径作为字符串传递给了 chdir()

在 Python 中列出目录和文件

可以使用 listdir() 方法检索目录中的所有文件和子目录。

此方法接受一个路径并返回该路径中的子目录和文件列表。

如果没有指定路径,它会返回当前工作目录中的子目录和文件列表。

import os

print(os.getcwd())
C:\Python33

# 列出所有子目录
os.listdir()
['DLLs',
'Doc',
'include',
'Lib',
'libs',
'LICENSE.txt',
'NEWS.txt',
'python.exe',
'pythonw.exe',
'README.txt',
'Scripts',
'tcl',
'Tools']

os.listdir('G:\\')
['$RECYCLE.BIN',
'电影',
'音乐',
'照片',
'系列',
'系统卷信息']

在 Python 中创建新目录

在 Python 中,我们可以使用 mkdir() 方法创建新目录。

此方法接受新目录的路径。如果未指定完整路径,新目录将在当前工作目录中创建。

os.mkdir('test')

os.listdir()
['test']

重命名目录或文件

rename() 方法可以重命名目录或文件。

对于重命名任何目录或文件,rename() 接受两个基本参数:

  • 第一个参数为旧名称
  • 第二个参数为新名称。

看一个例子,

import os

os.listdir()
['test']

# 重命名目录
os.rename('test','new_one')

os.listdir()
['new_one']

这里,使用 rename() 方法将 'test' 目录重命名为 'new_one'

在 Python 中删除目录或文件

在 Python 中,我们可以使用 remove() 方法或 rmdir() 方法删除文件或目录。

首先使用 remove() 删除文件,

import os

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

这里,我们使用了 remove() 方法删除了 "myfile.txt" 文件。

现在使用 rmdir() 删除空目录,

import os

# 删除空目录 "mydir"
os.rmdir("mydir")

为了删除非空目录,我们可以在 shutil 模块中使用 rmtree() 方法。例如,

import shutil

# 删除 "mydir" 目录及其所有内容
shutil.rmtree("mydir")

重要的是要注意,这些功能会永久删除文件或目录,因此在使用它们时需要小心。