Python 目录和文件管理

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

Python 拥有 os 模块,它提供了许多有用的方法来处理目录(以及文件)。


在 Python 中获取当前目录

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

此方法以字符串形式返回当前工作目录。例如:

import os

print(os.getcwd())

# Output: C:\Program Files\PyScripter

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


在 Python 中更改目录

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

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

让我们看一个例子,

import os

# change directory
os.chdir('C:\\Python33')

print(os.getcwd())

Output: C:\Python33

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


在 Python 中列出目录和文件

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

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

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

import os

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

# list all sub-directories
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',
'Movies',
'Music',
'Photos',
'Series',
'System Volume Information']

在 Python 中创建新目录

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

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

os.mkdir('test')

os.listdir()
['test']

重命名目录或文件

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

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

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

让我们看一个例子,

import os

os.listdir()
['test']

# rename a directory
os.rename('test','new_one')

os.listdir()
['new_one']

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


在 Python 中删除目录或文件

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

首先,让我们使用 remove() 删除一个文件:

import os

# delete "myfile.txt" file
os.remove("myfile.txt")

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

现在让我们使用 rmdir() 删除一个空目录:

import os

# delete the empty directory "mydir"
os.rmdir("mydir") 

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

import shutil

# delete "mydir" directory and all of its contents
shutil.rmtree("mydir")

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


另请阅读

视频:Python os 模块

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战