可以自动执行许多操作系统任务。Python 中的 os
模块提供了创建和删除目录(文件夹)、获取其内容、更改和识别当前目录等功能。
首先需要导入os
模块与底层操作系统进行交互。所以,在使用它的函数之前,使用import os
语句导入它。
获取当前工作目录
getcwd()
功能确认返回当前工作目录。
Example: Get Current Working Directory
>>> import os
>>> os.getcwd()
'C:\\Python37'
创建目录
我们可以使用os.mkdir()
功能创建一个新的目录,如下图所示。
Example: Create a Physical Directory
>>> import os
>>> os.mkdir("C:\MyPythonProject")
将创建一个与函数字符串参数中的路径相对应的新目录。如果你打开C:\
驱动器,那么你会看到MyPythonProject
文件夹已经被创建。
默认情况下,如果不在mkdir()
函数中指定整个路径,它会在当前工作目录或驱动器中创建指定的目录。 以下将在C:\Python37
目录中创建MyPythonProject
。
Example: Create a Physical Directory
>>> import os
>>> os.getcwd()
'C:\Python37'
>>> os.mkdir("MyPythonProject")
更改当前工作目录
我们必须首先将当前工作目录更改为新创建的目录,然后才能在其中执行任何操作。这是使用chdir()
功能完成的。 以下将当前工作目录改为C:\MyPythonProject
。
Example: Change Working Directory
>>> import os
>>> os.chdir("C:\MyPythonProject") # changing current workign directory
>>> os.getcwd()
'C:\MyPythonProject'
您可以将当前工作目录更改为驱动器。下面将C:\
驱动器作为当前工作目录。
Example: Change Directory to Drive
>>> os.chdir("C:\\")
>>> os.getcwd()
'C:\\'
为了将当前目录设置为父目录,使用chdir()
函数中的".."
作为参数。
Example: Change CWD to Parent
>>> os.chdir("C:\\MyPythonProject")
>>> os.getcwd()
'C:\\MyPythonProject'
>>> os.chdir("..")
>>> os.getcwd()
'C:\\'
删除目录
os
模块中的rmdir()
功能用绝对或相对路径删除指定的目录。 注意,对于要删除的目录,应该为空。
Example: Remove Directory
>>> import os
>>> os.rmdir("C:\\MyPythonProject")
但是,您不能删除当前的工作目录。要删除它,您必须更改当前的工作目录,如下所示。
Example: Remove Directory
>>> import os
>>> os.getcwd()
'C:\\MyPythonProject'
>>> os.rmdir("C:\\MyPythonProject")
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'd:\\MyPythonProject'
>>> os.chdir("..")
>>> os.rmdir("MyPythonProject")
以上,MyPythonProject
不会被删除,因为它是当前目录。 我们使用os.chdir("..")
将当前工作目录更改为父目录,然后使用rmdir()
功能将其删除。
列出文件和子目录
listdir()
函数返回指定目录下所有文件和目录的列表。
Example: List Directories
>>> import os
>>> os.listdir("c:\python37")
['DLLs', 'Doc', 'fantasy-1.py', 'fantasy.db', 'fantasy.py', 'frame.py',
'gridexample.py', 'include', 'Lib', 'libs', 'LICENSE.txt', 'listbox.py', 'NEWS.txt',
'place.py', 'players.db', 'python.exe', 'python3.dll', 'python36.dll', 'pythonw.exe',
'sclst.py', 'Scripts', 'tcl', 'test.py', 'Tools', 'tooltip.py', 'vcruntime140.dll',
'virat.jpg', 'virat.py']
如果我们没有指定任何目录,那么将返回当前工作目录中的文件和目录列表。
Example: List Directories of CWD
>>> import os
>>>os.listdir()
['.config', '.dotnet', 'python']
了解 Python 文档中os
模块的更多信息。**