Python目录–创建,重命名,删除,列出,更改

时间:2020-02-23 14:42:39  来源:igfitidea点击:

祝您学习愉快!在本教程中,我们将学习Python目录。
在上一教程中,我们了解了Python File。

Python目录

Python目录基本上可以与操作系统目录一起使用。
要使用Python目录,我们需要导入os模块。
该操作系统模块包含用于创建,查看,删除,重命名目录的功能。

基本上,有一些通用功能可以访问Python目录。
功能如下

  • getcwd():此函数返回一个字符串,其中包含要执行代码的当前目录。

  • listdir(location):此函数返回包含当前目录名称的列表字符串。

  • chdir(location):此函数将当前目录更改为给定位置

  • mkdir(name):此函数创建一个具有给定名称的新目录标签。

  • 重命名(old_name,new_name):此函数将old_name目录重命名为new_name目录

使用这些功能,您可以对python目录执行基本操作。
但是,为了展示示例,将提供一些示例代码来帮助您了解实现。

获取目录列表

您可以获取特定位置的目录列表。
为此,您必须使用listdir(location)函数。
如果放置该位置,则该函数将返回一个字符串列表,其中包含给定位置的目录名称。
以下代码将帮助您理解

import os #the os module need to be imported

print(os.listdir('/usr')) #here the location is ‘/usr’

以下代码的输出将是:

================== RESTART: /home/imtiaz/directory.py ==================
/home/imtiaz
['locale', 'sbin', 'local', 'games', 'lib', 'share', 'lib32', 'src', 'include', 'bin']
>>>

获取当前目录的位置

如前所述,您可以使用getcwd()函数获取当前目录的位置。
以下代码将说明您的想法

import os #we need to import this module

print(os.getcwd()) #print the current location

以下代码的输出将是

================== RESTART: /home/imtiaz/cur_dir.py ==================
/home/imtiaz
>>>

为什么我们需要Python目录

阅读本教程,您可能会想到为什么我们需要Python目录。
在本节中,我们将讨论这个问题。

假设您正在使用Python开发一些软件,需要从不同目录读取/写入文件。
目录可以是动态的,因此您无法从代码中修复目录,而是需要动态选择目录。
选择目录后,您可能必须创建一个新目录或者写入文件或者从该目录中读取文件。
为此,Python引入了此功能。
您现在可能不需要此功能,但是Python目录稍后可能会为您提供帮助。

Python创建重命名删除目录示例

一个简单的程序,显示如何创建目录,然后重命名和删除它。

import os

#change directory
os.chdir('/Users/hyman/temp')

#print current working directory
print(os.getcwd())

#create directory
os.mkdir("data")
print(os.listdir(os.getcwd()))

#rename directory
os.rename("data","data1")
print(os.listdir(os.getcwd()))

#delete directory
os.rmdir("data1")
print(os.listdir(os.getcwd()))

#delete non-empty directory
os.rmdir("test")
print(os.listdir(os.getcwd()))

当我们通过终端执行上述程序时,将产生以下输出。

hyman:BasicPython hyman$python directory.py 
/Users/hyman/temp
['data', 'test']
['data1', 'test']
['test']
Traceback (most recent call last):
File "directory.py", line 22, in <module>
  os.rmdir("test")
OSError: [Errno 66] Directory not empty: 'test'

注意," os.rmdir"只能删除空目录。
因此,要删除非空目录,我们将不得不使用shutil模块。
下面是一个使用shutil模块删除目录的简单程序。

import shutil

shutil.rmtree('/Users/hyman/temp/test')