Python 目录与文件管理
- Python 文件和目录管理:使用
os
模块的方法,如getcwd()
获取当前目录,chdir()
更改目录,listdir()
列出文件和目录。 - 创建和重命名:可以用
mkdir()
创建新目录,rename()
重命名文件或目录。 - 删除文件和目录:使用
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")
重要的是要注意,这些功能会永久删除文件或目录,因此在使用它们时需要小心。