Python目录管理(os库)
  NflONpkNQp52 2023年11月02日 41 0

在Python中,os库是处理文件和目录操作的常用库之一。它提供了许多函数,使得我们可以轻松地与操作系统进行交互,执行各种目录管理任务。本文将介绍os库中一些常用的目录管理函数,帮助你更好地理解和应用它们。


os.path.join():

这个函数用于将多个路径组合成一个完整的路径。它接收任意数量的参数,将它们连接起来,并使用操作系统的路径分隔符进行组合。以下是一些使用示例:

import os  

path1 = os.path.join('/home', 'user', 'documents')  

print(path1)  # 输出:/home/user/documents  

path2 = os.path.join('folder1', 'folder2')  

print(path2)  # 输出:folder1/folder2

os.path.split():拆分为目录和文件名

这个函数将路径拆分为目录和文件名,并返回一个元组。第一个元素是目录,第二个元素是文件名。例如:

import os  

path = '/home/user/documents/file.txt'  
dir_name, file_name = os.path.split(path)  
print(dir_name)  # 输出:/home/user/documents  
print(file_name)  # 输出:file.txt

os.listdir():返回所有文件和子目录的名称列表

这个函数返回指定目录中的所有文件和子目录的名称列表。例如:

import os  

dir_list = os.listdir('/home/user/documents')  

print(dir_list)  # 输出:['file1.txt', 'file2.txt', 'folder1', 'folder2']


os.getcwd():返回当前工作目录

这个函数返回当前工作目录的路径。例如:

import os  

current_dir = os.getcwd()  

print(current_dir)  # 输出:/home/user/documents

os.chdir():切换路径

这个函数用于改变当前工作目录。它接收一个字符串参数,表示要切换到的目录的路径。例如:

import os  

os.chdir('/home/user/documents')  # 将当前目录切换到/home/user/documents  

current_dir = os.getcwd()  # 验证当前目录是否成功切换  

print(current_dir)  # 输出:/home/user/documents


os.mkdir() 和 os.makedirs():创建新目录

创建新的目录可以使用os.mkdir()或os.makedirs()函数。os.mkdir()可以创建一层目录,而os.makedirs()可以创建多层嵌套的目录。例如:

import os  

# 使用os.mkdir()创建一层目录  

os.mkdir('/home/user/new_directory')  # 创建成功则无输出,失败则抛出异常  

# 使用os.makedirs()创建多层嵌套的目录  
os.makedirs('/home/user/new_directory/sub_directory')  # 创建成功则无输出,失败则抛出异常

注意:如果这个目录已经存在,os.makedirs()将引发一个错误。


os.rmdir():删除空目录

os.rmdir()函数用于删除空的目录。要删除一个非空的目录,需要先使用os.walk()遍历目录并删除其中的所有文件和子目录。下面是一个示例:

import os  

for root, dirs, files in os.walk('path/to/directory'):  
    for file in files:  
        os.remove(os.path.join(root, file))  
    for dir in dirs:  
        os.rmdir(os.path.join(root, dir))

这将遍历'path/to/directory'目录及其子目录,删除所有文件和子目录,最后删除该目录。


os.path.exists()、os.path.isfile() 、 os.path.isdir():检测目录

os.path.exists()函数用于检查文件或目录是否存在,os.path.isfile()用于检查路径是否是一个文件,os.path.isdir()用于检查路径是否是一个目录。下面是一些示例:

import os  

if os.path.exists('path/to/file'):  
    print('File exists.')  

if os.path.exists('path/to/directory'):  
    print('Directory exists.')  

if os.path.isfile('path/to/file'):  
    print('This is a file.')  

if os.path.isdir('path/to/directory'):  
    print('This is a directory.')


os.walk():遍历目录及其子目录中的所有文件和目录

os.walk()函数用于遍历目录及其子目录中的所有文件和目录。它返回一个生成器,每次迭代都会返回一个包含三个元素的元组:当前目录的路径、当前目录下的目录列表和当前目录下的文件列表。下面是一个示例:

import os  

for root, dirs, files in os.walk('path/to/directory'):  
    for file in files:  
        print(os.path.join(root, file))

这将打印出'path/to/directory'目录及其子目录中的所有文件的完整路径。

这些是os库中一些常用的目录管理函数。通过使用这些函数,我们可以轻松地创建、删除、修改和查找文件和目录。在使用这些函数时,请注意处理异常和考虑操作系统的差异,以确保代码的正确性和健壮性。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  zLxnEsMLk4BL   2023年11月19日   22   0   0 文件名重定向数据
  llt0tXqeaug8   2023年11月19日   18   0   0 文件名Shell
  zEbHO6cVnp49   2023年11月02日   26   0   0 当前目录嵌套创建目录
NflONpkNQp52