Python常用标准库-os库一文详解(一):目录操作

目录

前言

目录操作

1.1获取当前目录

获取当前工作目录(绝对路径)

 获取当前工作目录(绝对路径)

 获取当前目录

 获取当前目录的上级目录

 1.2创建目录

 1.3删除目录

 1.4重命名目录

 1.5切换目录

 1.6获取目录下的文件内容

 1.7判断目录是否存在

 1.8判断是否是目录

 1.9判断是否是绝对路径


前言

Python的os(Operating System)库是一个用于与操作系统进行交互的标准库,它提供了许多有用的函数和变量,用于访问文件系统、环境变量、进程、管道、用户和组等操作系统相关的功能。

这里我为大家总结了所有OS库里面的各类功能常用函数:

有这张思维导图基本就够了,基本涵盖所有涉及到的Python基础系统路径操作功能函数了。当然还有很多关于这些函数细节的,需要辅以实际代码展示例子,以更直观的看到每个函数该如何使用和操作。


目录操作

1.1获取当前目录

获取当前工作目录(绝对路径)

print(os.getcwd())

 

 获取当前工作目录(绝对路径)

值以Unicode编码返回:

print(os.getcwdb())

 

 获取当前目录

以 "."表示

print(os.curdir)

 

 获取当前目录的上级目录

以 ".."表示

print(os.pardir)

 

 1.2创建目录

创建目录, 路径可以是绝对路径也可以是相对路径, linux系统运行的程序还需指定mode参数,即文件夹的权限。文件目录存在时,再次创建会执行报错,因此实际开发中创建目录需判断目录是否存在。

import os
if os.path.lexists('./test'): 
    print("./test已经存在")
else:
    os.mkdir('./test')

 

 递归创建目录:

if os.path.lexists("C:\\Users\\10799\\get_info\\OS\\test\\12\\123"):
    pass
else:
    os.makedirs('test\\12\\123')

 

 1.3删除目录

目录不存在时报错,删除时判断目录是否存在

if os.path.lexists('test1'):
    os.rmdir('test1')
else:
    print("test1目录不存在")

 非空目录报错,删除时 先判断是否是空目录,在进行删除

if os.path.lexists('test'):
    os.rmdir('test') 
else:
    print("test目录不存在")

 

 先判断目录是否存在 ,再判断目录是否非空目录,再进行相应的操作

if os.path.lexists('test'):
    if os.listdir('test'):
        print("test目录非空")
    else:
        os.rmdir('test')
else:
    print("test目录不存在")

 删除多个目录,目录非空时报错。

#删除多个目录,目录非空时报错,
if os.path.lexists('test'):
    os.removedirs(r'./test/12/123')
else:
    print("test目录不存在")

 1.4重命名目录

语法格式 os.rename('oldName', 'newName'),原目录不存在时报错

if os.path.lexists('test'):
    os.rename('test', 'newTest')
else:
    print('test目录不存在')

 

 1.5切换目录

变更工作目录,从根目录起始的文件路径称之为绝对路径,根据当前位置起始的路径称之为相对路径。

绝对路径:

# 绝对路径
os.chdir(r"D:\python")

 1.6获取目录下的文件内容

获取指定目录下的文件夹和文件的名称;只会查找指定目录的当前目录下的文件名和文件夹名称,不会查找下级的文件名和文件夹名称。

默认当前目录:

print(os.listdir())

 

 指定目录:

print(os.listdir(r'C:\Users\10799\get_info\OS'))

 

 文件不存在时报错,使用时先判断目录是否存在

if os.path.lexists(r"C:\Users\10799\get_info\OS"):
    print(os.listdir(r"C:\Users\10799\get_info\OS"))
else:
    print("指定的目录不存在")

 1.7判断目录是否存在

print(os.path.lexists(r"C:\Users\10799\get_info\OS"))

 

 

 1.8判断是否是目录

目录不存在和非目录都返回False:

print(os.path.isdir(r'newTest'))

 

 1.9判断是否是绝对路径

os.path.isabs(r"C:\Users\10799\get_info\OS\oldTest")

 


点关注,防走丢,如有纰漏之处,请留言指教,非常感谢

以上就是本期全部内容。我是fanstuck ,有问题大家随时留言讨论 ,我们下期见。

猜你喜欢

转载自blog.csdn.net/master_hunter/article/details/129288543