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.mzph.cn/web/24063.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

033.搜索旋转排序数组

题意 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给方法之前&#xff0c;nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了旋转&#xff0c;使数组变为 [nums[k], nums[k1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]]&…

古字画3d立体在线数字展览馆更高效便捷

在数字时代的浪潮中&#xff0c;大连图书馆以崭新的面貌跃然屏幕之上——3D全景图书馆。这座承载着城市文化精髓与丰富知识资源的数字图书馆&#xff0c;利用前沿的三维建模技术&#xff0c;为我们呈现了一个全新的知识世界。 随时随地&#xff0c;无论您身处何地&#xff0c;只…

获得抖音商品评论 API 返回值

公共参数 名称类型必须描述keyString是调用key&#xff08;获取key和密钥​​​​​​​&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,item_get,item_search_shop等]cacheString否[yes,no]默认yes&am…

信息学奥赛初赛天天练-22-C++基础关键字、进制转换、结构体与联合体的实用技巧大揭秘

PDF文档公众号回复关键字:20240607 单项选择题&#xff08;共15题&#xff0c;每题2分&#xff0c;共计30分&#xff1a;每题有且仅有一个正确选项&#xff09; 1 在C中&#xff0c;下面哪个关键字用于声明一个变量&#xff0c;其值不能被修改&#xff1f;&#xff08; &#…

二叉树讲解升级版

目录 二叉树的存储结构 二叉树结点的查找和修改 二叉树结点的插入 二叉树的创建 二叉树的遍历 先序遍历 中序遍历 后序遍历 层序遍历 重建二叉树 二叉树的静态实现 二叉树的存储结构 一般来说&#xff0c;二叉树使用链表来定义。和普通链表的区别是&#xff0c;由于…

【Java】解决Java报错:StackOverflowError

文章目录 引言1. 错误详解2. 常见的出错场景2.1 无限递归2.2 递归深度过大2.3 方法调用层次过深 3. 解决方案3.1 优化递归算法3.2 尾递归优化3.3 增加调用栈大小3.4 检查递归终止条件 4. 预防措施4.1 使用迭代替代递归4.2 尾递归优化4.3 合理设计递归算法4.4 调整JVM参数4.5 定…

b端系统类管理平台设计前端开发案例

b端系统类管理平台设计前端开发案例

二叉树-堆的详解

一&#xff0c;树的概念 1&#xff0c;树的概念 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。 把它叫做树是因为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。 有…

vue3 + echarts 二次开发百分比饼图

效果图&#xff1a; 安装 pnpm i echarts 公共模块组件 <divclass"pie"ref"percent"style"width: 100%; height: calc(100% - 48px)"></div> import { ref, onMounted } from vue import * as echarts from echarts const prop…

【JavaScript脚本宇宙】解密前端工具:选择最佳JavaScript模块管理工具

精选前端工具汇总&#xff1a;打包器和捆绑器的完整指南 前言 在现代Web开发中&#xff0c;使用适当的工具和库可以极大地提高开发效率和项目质量。本文将介绍一些常用的Web应用程序捆绑器&#xff0c;这些工具能够帮助开发人员有效地管理JavaScript模块和资源。 欢迎订阅专栏…

SpringBoot项目启动提示端口号占用

Windows环境下&#xff0c;SpringBoot项目启动时报端口号占用&#xff1a; *************************** APPLICATION FAILED TO START ***************************Description:Web server failed to start. Port 8080 was already in use.Action:Identify and stop the proc…

【乐吾乐3D可视化组态编辑器】状态告警示例

状态告警的设置方法为两种&#xff1a; 1.通过数据点号设置&#xff08;推荐&#xff09;&#xff1a; 适用于绑定单一数据点号&#xff0c;设置逻辑简洁&#xff0c;实现简单逻辑交互 2.通过交互事件监听数据点号设置&#xff1a; 适用于绑定多个数据点号&#xff0c;实现复…

LLM大模型AI应用的三阶技术

第一阶 指令工程&#xff08;Prompt Enginner&#xff09; 设计提示&#xff08;Prompt Design&#xff09; 结果优化&#xff08;Response Optimization&#xff09; 交互设计&#xff08;Interaction Design&#xff09; 模型理解&#xff08;Model Understanding&#…

哈希经典题目(C++)

文章目录 前言一、两数之和1.题目解析2.算法原理3.代码编写 二、判定是否互为字符重排1.题目解析2.算法原理3.代码编写 三、 字⺟异位词分组1.题目解析2.算法原理3.代码编写 总结 前言 哈希表是一个存储数据的容器&#xff0c;我们如果想要快速查找某个元素&#xff0c;就可以…

Python驱动下的AI革命:技术赋能与案例解析

在当今这个信息化、数据化的时代&#xff0c;人工智能&#xff08;AI&#xff09;已经成为推动社会发展的重要力量。而Python&#xff0c;作为一种简单易学、功能强大的编程语言&#xff0c;在AI领域的应用中发挥着至关重要的作用。本文将探讨Python在AI领域的应用、其背后的技…

MMUNet:形态学特征增强网络在结肠癌病理图像分割中的应用

MMUNet: Morphological feature enhancement network for colon cancer segmentation in pathological images. 发表在&#xff1a;Biomedical Signal Processing and Control2024--影响因子&#xff1a;3.137 南华大学的论文 论文地址&#xff1a;main.pdf (sciencedirecta…

Wakeup Source框架设计与实现

Wakeup Source 为系统组件提供了投票机制&#xff0c;以便低功耗子系统判断当前是否可以进入休眠。 Wakeup Source(后简称&#xff1a;WS) 模块可与内核中的其他模块或者上层服务交互&#xff0c;并最终体现在对睡眠锁的控制上。 1. 模块功能说明 WS的处理逻辑基本上是围绕 com…

后端进阶-分库分表

文章目录 为什么需要分库为什么需要分表 什么时候需要分库分表只需要分库只需要分表 分库分表解决方案垂直分库水平分库垂直分表水平分表 分库分表常用算法范围算法hash分片查表分片 分库分表模式客户端模式代理模式 今天跟着训练营学习了分库分表&#xff0c;整理了学习笔记。…

机器学习模型进行预测和回测

这段代码是为了并行地处理多个 CSV 文件&#xff0c;并使用机器学习模型进行预测和回测。主要涉及以下步骤&#xff1a; 初始化环境与设置&#xff1a; 引入必要的库&#xff0c;如 ray 用于并行计算&#xff0c;pandas 用于数据处理&#xff0c;tqdm 用于进度条显示等。设置一…

golang 不用sleep如何实现实现每隔指定时间执行一次for循环?

今天介绍的是在go语言里面不用time.Sleep&#xff0c; 使用for range 定时器管道 来实现按照我们指定的时间间隔来执行for循环, 即&#xff1a; for range ticker.C { } 这样就实现了for每隔指定时间执行一次&#xff0c;除非管道被关闭&#xff0c;否则for而且会一直柱塞当前线…