目录是文件和子目录的集合。目录内的目录称为子目录。
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")
需要注意的是,这些函数会永久删除文件或目录,因此在使用时需要小心。
另请阅读