您的位置:

Python os模块

可以自动执行许多操作系统任务。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模块的更多信息。**