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

前言

Python 标准库非常庞大,所提供的组件涉及范围十分广泛,正如以下内容目录所显示的。这个库包含了多个内置模块 (以 C 编写),Python 程序员必须依靠它们来实现系统级功能,例如文件 I/O,此外还有大量以 Python 编写的模块,提供了日常编程中许多问题的标准解决方案。其中有些模块经过专门设计,通过将特定平台功能抽象化为平台中立的 API 来鼓励和加强 Python 程序的可移植性。 Python的os(Operating System)库是一个用于与操作系统进行交互的标准库,它提供了许多有用的函数和变量,用于访问文件系统、环境变量、进程、管道、用户和组等操作系统相关的功能。

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

19709f21093f4fe6afb7d7dae7c97bdb.png 有这张思维导图基本就够了,基本涵盖所有涉及到的Python基础系统路径操作功能函数了。当然还有很多关于这些函数细节的,需要辅以实际代码展示例子,以更直观的看到每个函数该如何使用和操作。每篇文章我都会尽可能将简化涉及到垂直领域的专业知识,转化为大众小白可以读懂易于理解的知识,将繁杂的程序创建步骤逐个拆解,以逐步递进的方式由难转易逐渐掌握并实践,欢迎各位学习者关注博主,博主将不断创作技术实用前沿文章。

目录操作

1.1获取当前目录

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

print(os.getcwd())

图片.png

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

值以Unicode编码返回: ​

print(os.getcwdb())

图片.png

获取当前目录

以 "."表示

图片.png

获取当前目录的上级目录

以 "…"表示 ​

print(os.pardir)

图片.png

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目录不存在")

图片.png

非空目录报错,删除时 应该先判断是否是空目录,再进行删除 ​

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

图片.png

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

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’),原目录不存在时报错

图片.png

1.5切换目录

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

绝对路径:

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

1.6获取目录下的文件内容

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

默认当前目录:

图片.png

print(os.listdir())

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

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"))

图片.png

1.8判断是否是目录

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

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

1.9判断是否是绝对路径

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

利用os库,Python程序员可以轻松地跨平台编写代码,无需担心底层操作系统的差异。这一点对于希望其程序在不同环境中无缝运行的开发者尤其重要。此外,os库的设计鼓励了编写清晰、可读性强的代码,这是Python语言的一个核心优势。

虽然本文介绍了os库的一些基础和常用功能,但实际上,os库还包含了许多其他强大的函数和变量。每个功能都有其独特的用途,可以解决特定的问题。因此,我鼓励读者不仅要理解本文中介绍的内容,还应深入探索os库的官方文档,实践和掌握更多高级功能。

如有纰漏之处,请留言指教,非常感谢

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

---------------------------END---------------------------

题外话

感谢你能看到最后,给大家准备了一些福利!

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img

二、Python兼职渠道推荐*

学的同时助你创收,每天花1-2小时兼职,轻松稿定生活费.
在这里插入图片描述

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

  • 20
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值