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

news/2023/12/6 0:24:00

目录

概览

🚗🚗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…

Nessus扫描结果出现在TE.IO或者ES容器结果查看问题解决方案

Nessus扫描结果出现在TE.IO或者ES容器结果查看问题解决方案 也是昨天晚上折腾了一个晚上到凌晨四点多,实在没有头绪,在论坛,贴吧,各种求助查贴,没有什么人解决.后面请教了一个安全圈的大佬朋友给解决了. 我的问题是在kali上的,所以只写了kali 的解决方案: 修改插件: vim /opt/…

DeepStream--测试lpdnet车牌检测模型

模型地址:https://catalog.ngc.nvidia.com/orgs/nvidia/teams/tao/models/lpdnet/version 模型格式已经从加密的etlt格式变为onnx格式。这个模型用于从汽车图片上检测出车牌位置,模型有两个,一个用于美国车,一个用于中国车。 Nv…

安卓老项目改造为AndroidX

由于涉及到了包名的改动,如果从Android Support Library升级到AndroidX需要手动去改每一个文件的包名,那可真得要改死了。(*是的我改完才发现这个办法,给我改到深呼吸,气人! *) 为此&#xff0c…

http库requests

http库requests requets简介第一个requestsrequests发送基本的HTTP请求requests处理请求参数requests处理响应requests处理Cookiesrequests处理sessionrequests使用代理requests设置请求头requests处理SSL证书验证requests错误处理和异常处理requests连接池requests请求重试

【MATLAB基础绘图第17棒】绘制玫瑰图

MATLAB绘制玫瑰图 玫瑰图(Nightingale Rose Chart)风玫瑰图(WindRose)准备工作:WindRose工具包下载案例案例1:基础绘图 参考 玫瑰图(Nightingale Rose Chart) 玫瑰图(Ni…

vue3组件外使用route

1.vue3组件外使用route 在写vue3项目时,有时候我们会把组件内部分逻辑代码分离到外部js中,然后在组件里通过import导入。此时如果我们要在组件外使用route对象,方式与组件内不同: 组件内: import { useRoute } from…

Pytorch torch.norm函数详解用法

torch.norm参数定义 torch版本1.6 def norm(input, p"fro", dimNone, keepdimFalse, outNone, dtypeNone)input input (Tensor): the input tensor 输入为tensorp p (int, float, inf, -inf, fro, nuc, optional): the order of norm. Default: froThe following …

单节点服务架构

单节点的服务架构: LNMP l:lilnux系统 n:nginx静态页面,转发动态请求 m:mysql数据库,后端服务器,保存用户和密码信息,以及论坛的信息 p:PHP,处理动态请求,动态请求转发数据库,然…

学习c#的第二十天

目录 C# 属性(Property) 属性概述 具有支持字段的属性 表达式主体定义 自动实现的属性 必需的属性 使用属性 get 访问器 set 访问器 init 访问器 备注 接口属性 限制访问器可访问性 对访问器的访问修饰符的限制 重写访问器的访问修饰符 …

linux控制台命令

进入root sudo su root 浏览当前文件夹列表 ll ls 查看文件 vim test.txt :q 退出查看模式 上传 sudo rz rz 覆盖上传 rz -y 修改文件名: mv 旧文件名 新文件名 修改文件权限 sudo chmod ar xxx.txt sudo chmod 777 test.txt 7 4 2 1 读写运行权限…

一起Talk Android吧(第五百五十五回:Retrofit中的注解)

文章目录 1. 概念介绍2. 注解的分类与功能2.1 方法类注解2.2 参数类注解3. 内容总结各位看官们大家好,上一回中分享了一个Retrofit使用错误的案例,本章回中将 介绍Retrofit请求中的注解。闲话休提,言归正转,让我们一起Talk Android吧! 1. 概念介绍 我们在前面章回中介绍R…

抛美债买中债!人民币大涨645点,美联储投降,美元要撑不住了

正当各国央行纷纷权衡其外汇储备组合时,一则消息震动了金融市场:投资者正抛售美国国债,转而购买中国国债。此举不仅反映了市场对未来货币政策的预期,也昭示了全球经济力量平衡的微妙变化。 首先,我们不得不提的是人民…
最新文章