【路径最全用法】python代码讲解os.path包的最全用法

news/2024/12/6 20:09:28/

目录

概览

🚗🚗os.getcwd()

🚗🚗os.chdir()

🚗🚗os.path.abspath(path)

🚗🚗os.path.basename(path)

🚗​​​​​​​🚗os.path.dirname(path)

🚗​​​​​​​🚗os.path.exists(path) 

🚗​​​​​​​🚗os.path.join(path1[, path2[, ...]])

🚗​​​​​​​🚗os.path.split(path)

🚗​​​​​​​🚗os.path.splitext(path)


概览

  1. os.getcwd():获取当前工作目录。

  2. os.chdir(path):更改当前工作目录为指定路径。

  3. os.path.abspath(path):获取绝对路径。

  4. os.path.basename(path):获取路径中的文件名。

  5. os.path.dirname(path):获取路径中的目录名。

  6. os.path.exists(path):判断路径是否存在。

  7. os.path.join(path1[, path2[, ...]]):连接多个路径。

  8. os.path.split(path):分割路径为目录和文件名两部分。

  9. os.path.splitext(path):分割路径为文件名和扩展名两部分。

  10. os.path.normpath(path):规范化路径,使其符合当前操作系统的规范。

🚗🚗os.getcwd()

说明:该函数是获取当前工作目录,用法举例: 

import os
path = os.getcwd()
print('path:', path)

 输出:

path:/data/python_temp

ps:该操作类似于Linux系统命令pwd 

🚗🚗os.chdir()

说明:该函数是更改当前工作目录,用法举例:  

#!/usr/bin/python
# -*- coding: UTF-8 -*-import os, syspath = "/tmp"# 查看当前工作目录
retval = os.getcwd()
print("当前工作目录为 %s" % retval)# 修改当前工作目录
os.chdir( path )# 查看修改后的工作目录
retval = os.getcwd()print("目录修改成功 %s" % retval)

输出:

当前工作目录为 /data
目录修改成功 /tmp

 ps:该操作类似于Linux系统命令chdir

🚗🚗os.path.abspath(path)

说明:该函数是获取文件绝对路径,用法举例:  

file = 'test.py'#获取文件绝对路径
absolute_path = os.path.abspath(file)
​
print("当前文件的绝对路径:", absolute_path)

输出:

当前文件的绝对路径:/data/temp/test.py

🚗​​​​​​​🚗os.path.basename(path)

说明:该函数是获取当前文件的文件名,用法举例: 

file = 'test.py'#获取文件名
filename= os.path.basename(file)
​
print("当前文件的文件名:", filename)

输出:

当前文件的文件名:test.py

🚗​​​​​​​🚗os.path.dirname(path)

说明:该函数是获取当前文件的目录,用法举例: 

file = 'test.py'#获取文件夹路径
path = os.path.dirname(file)
​
print("当前文件的文件夹路径:", path)

输出:

当前文件的文件夹路径:/data/temp

🚗​​​​​​​🚗os.path.exists(path) 

说明:该函数是判断文件是否存在,用法举例: 

file = 'test.py'#获取文件名
flag = os.path.exists(file)
​
print("文件是否存在:", flag)

输出:

文件是否存在:True

🚗​​​​​​​🚗os.path.join(path1[, path2[, ...]])

说明:该函数是拼接路径和文件名,用法举例:  

file = 'test.py'
path = '/data/temp2'#拼接路径和文件名
new_file = os.path.join(path, file)
​
print("合并后的新文件路径:", new_file)

输出:

合并后的新文件路径:/data/temp2/test.py

🚗​​​​​​​🚗os.path.split(path)

 说明:该函数是分开路径和文件名,用法举例: 


path = '/data/temp2/test.py'#分开路径和文件名
split_path = os.path.split(path)
​
print("分开后的文件路径:", split_path )

输出:

分开后的文件路径: ('/data/temp2', 'test.py')

ps:分开后的split_path是一个二元组格式,split_path[0]为路径,split_path[1]为文件名

也可以通过某个字符串区分路径,用法举例:

path1 = '/data/temp2/test.py'#分开路径和文件名
split_path = path1.split('temp2')
​
print("分开后的文件路径:", split_path )

用"temp2"字符将路径分开,输出:

分开后的文件路径: ['/data/', '/test.py']

ps:分开后的split_path是一个list格式,split_path[0]为字符串之前,split_path[1]为字符串之后

🚗​​​​​​​🚗os.path.splitext(path)

 说明:该函数是分开路径+文件名(缺后缀)和文件名后缀,主要用来get文件名后缀,用法举例: 


path = '/data/temp2/test.py'#分开路径和文件名
split_path = os.path.splitext(path)
​
print("分开后的文件路径:", split_path )

输出:

分开后的文件路径: ('/data/temp2/test', '.py')

ps:分开后的split_path是一个二元组格式,split_path[1]为文件名后缀

整理不易,欢迎一键三连!!!

送你们一条美丽的--分割线--


🌷🌷🍀🍀🌾🌾🍓🍓🍂🍂🙋🙋🐸🐸🙋🙋💖💖🍌🍌🔔🔔🍉🍉🍭🍭🍋🍋🍇🍇🏆🏆📸📸⛵⛵⭐⭐🍎🍎👍👍🌷🌷


http://www.ppmy.cn/news/1231361.html

相关文章

Vscode GDB 查看内存的值

在VSCode的GDB图形界面中,你可以使用"调试控制台(Debug Console)"来查看malloc返回的地址里的值。以下是具体的步骤: 首先,你需要在你的代码中设置一个断点,这个断点应该在malloc函数调用之后,这样你可以获…

目标检测标注工具AutoDistill

引言 在快速发展的机器学习领域,有一个方面一直保持不变:繁琐和耗时的数据标注任务。无论是用于图像分类、目标检测还是语义分割,长期以来人工标记的数据集一直是监督学习的基础。 然而,由于一个创新性的工具 AutoDistill&#x…

JVM:内存模型、内存分配机制、内存分配冲突、JVM垃圾标记算法、JVM1.8增加元数据区缘由

文章目录 JVM 内存模型线程共享区:堆方法区(元空间) 线程私有区线程栈 本地方法栈程序计数器 为什么JDK1.8会增加对方法区的实现/为什么JDK1.8将方法区更改为元数据区JVM内存分配机制指针碰撞空闲列表 内存分配冲突CAS乐观锁解决TLAB解决 JVM垃圾标记算法1、引用计数…

JOSEF约瑟 数显电压继电器 HYJY-30-02 AC220V 导轨安装

HYJY系列电压继电器 HYJY-30-01集成电路电压继电器 HYJY-30-01A HYJY-30-01B HYJY-30-02集成电路电压继电器 HYJY-30-02A HYJY-30-02B HYJY-30-03-3集成电路电压继电器 HYJY-30-03-2 HYJY-30-03-1 HYJY-30-02电压继电器(以下简称继电器)用于发…

数字化转型导师坚鹏:数字化时代银行网点厅堂营销5大重点分析

数字化时代银行网点厅堂营销存在以下5大重点: 1、厅堂宣传。应以主推产品作为厅堂宣传的宣传重点,结合视频宣传、平面物料、互动机具、陈列物料等多维度,开展有序重复展示,进而加大吸引客户关注度。 2、产品推荐。在识别出中高端…

自动化物流运输设备模组要选择哪种类型?

在自动化物流运输设备中,选择合适的模组类型取决于具体的运输需求和应用场景。 1、同步带模组:同步带模组是一种低噪音、低成本的物流运输设备,适用于中短距离、轻型货物的运输。它采用同步带传动的方式,具有传动准确、运行稳定、…

一个快递包裹的跨国之旅

事情要从今年三月份说起,一位爱尔兰的同事在6月份结婚,团队同事准备了中国风的丝绸画轴、领带、丝巾作为礼物。3月份开始邮寄,4月初爱尔兰方面收件,5月份因为文件不足、不完整、不正确等原因被取消进口,7月份退回到大连…

Linux应用开发基础知识——网络通信编程(九)

前言: 通过学习为后续Linux网络编程奠定基础。首先介绍网络编程的概念,即网络协议分层,旨在帮助读者对网络建立初步的、全面立体的认识,其次介绍包括协议、端口、地址等;最后介绍应用非常广泛的传输控制协议&#xff0…