当前位置: 首页 > news >正文

os和os.path模块

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501

目录也称文件夹,用于分层保存文件。通过目录可以分门别类地存放文件。我们也可以通过目录快速找到想要的文件。在Python中,并没有提供直接操作目录的函数或者对象,而是需要使用内置的os和os.path模块实现。

说明:os模块是Python内置的与操作系统功能和文件系统相关的模块。该模块中的语句的执行结果通常与操作系统有关,在不同操作系统上运行,可能会得到不一样的结果。

常用的目录操作主要有判断目录是否存在、创建目录、删除目录和遍历目录等,本节将详细介绍。

说明:这里的内容都是以Windows操作系统为例进行介绍的,所以代码的执行结果也都是在Windows操作系统下显示的。

在Python中,内置了os模块及其子模块os.path用于对目录或文件进行操作。在使用os模块或者os.path模块时,需要先应用import语句将其导入,然后才可以应用它们提供的函数或者变量。

导入os模块可以使用下面的代码:

import os

说明:导入os模块后,也可以使用其子模块os.path。

导入os模块后,可以使用该模块提供的通用变量获取与系统有关的信息。常用的变量有以下几个:

l  name:用于获取操作系统类型。

例如,在Windows操作系统下输出os.name,将显示如图17所示的结果。

图17  显示os.name的结果

说明:如果os.name的输出结果为nt,则表示是Windows操作系统;如果是posix,则表示是Linux、Unix或Mac OS操作系统。

l  linesep:用于获取当前操作系统上的换行符。

例如,在Windows操作系统下输出os.linesep,将显示如图18所示的结果。

图18  显示os.linesep的结果

l  sep:用于获取当前操作系统所使用的路径分隔符。

例如,在Windows操作系统下输出os.sep,将显示如图19所示的结果。

图19  显示os.sep的结果

os模块还提供了一些操作目录的函数,如表2所示。

表2  os模块提供的与目录相关的函数

函    数

说    明

getcwd()

返回当前的工作目录

listdir(path)

返回指定路径下的文件和目录信息

mkdir(path [,mode])

创建目录

makedirs(path1/path2……[,mode])

创建多级目录

rmdir(path)

删除目录

removedirs(path1/path2……)

删除多级目录

chdir(path)

把path设置为当前工作目录

walk(top[,topdown[,onerror]])

遍历目录树,该方法返回一个元组,包括所有路径名、所有目录列表和文件列表3个元素

os.path模块也提供了一些操作目录的函数,如表3所示。

表3  os.path模块提供的与目录相关的函数

函    数

说    明

abspath(path)

用于获取文件或目录的绝对路径

exists(path)

用于判断目录或者文件是否存在,如果存在则返回True,否则返回False

join(path,name)

将目录与目录或者文件名拼接起来

splitext()

分离文件名和扩展名

basename(path)

从一个目录中提取文件名

dirname(path)

从一个路径中提取文件路径,不包括文件名

isdir(path)

用于判断是否为有效路径

 

 

http://www.lryc.cn/news/366159.html

相关文章:

  • 链表题目练习----重排链表
  • 【杂记-浅谈XSS跨站脚本攻击】
  • VMware虚拟机与MobaXterm建立远程连接失败
  • mysql undolog管理
  • 【Linux】进程2——管理概念,进程概念
  • 【C++】植物大战僵尸杂交版自动存档——防闪退存档消失
  • 通过Excel,生成sql,将A表数据插入B表
  • 如何在MySQL中实现upsert:如果不存在则插入?
  • MyBatis中 set标签
  • mysql自带分页
  • 小学一年级数学上册,我终于学完了
  • 使用wireshark分析tcp握手过程
  • 在ArcGIS中,矢量数据有.shp,.mdb和.gdb,为啥建议使用gdb?
  • C++STL---stack queue模拟实现
  • Spring Cloud系列——使用Sentinel进行微服务保护
  • Android开机动画,framework修改Bootanimation绘制文字。
  • 2024河南高考作文ChatGPT
  • 整理好了!2024年最常见 20 道分布式、微服务面试题(一)
  • 要想数据形成好的数据集,必须数据治理(目的之一是防止大模型产生灰色数据等),用于炼丹(训练数据私有化模型)的数据才是好数据
  • 外部mysql导入
  • Qwen-VL论文阅读
  • 超详细的java Comparable,Comparator接口解析
  • Java使用GDAL来解析KMZ及KML实战
  • 【vuex小试牛刀】
  • React - 实现走马灯组件
  • 【学习笔记】Windows GDI绘图(十三)动画播放ImageAnimator(可调速)
  • fps游戏如何快速定位矩阵
  • 【机器学习基础】Python编程06:五个实用练习题的解析与总结
  • R可视化:生存分析森林图
  • 一个 python+tensorFlow训练1万张图片分类的简单直观例子( 回答由百度 AI 给出 )