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

目录

概览

🚗🚗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.mzph.cn/news/155350.shtml

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

相关文章

细节决定成败——我的日志去哪了?

概述 编写本文档的目的有两点。 本周遇到了一个日志丢失的问题,经过分析,觉得挺有意思的。向大家分享一下我的分析及解决思路。应该在很多项目中都会有该问题。领导和我私下讨论过多次,当前的autodomain代码对文件读取的频率太高了,如何去避…

Spring框架学习 -- 核心思想

目录 (1) Spring是什么? (2) 什么是IOC容器? (3) 从传统开发认识spring (4) 这种传统开发的缺陷 (5)解决传统开发中的缺陷 (6) 对比总结规律 (7) 理解IOC 创作不易多多支持 (1) Spring是什么? 我们常说的Spring的全称是: Spring Framework(Spring框架), 它是一个开源…

使用 Core Tools 在本地开发 Azure Functions

学习模块 使用 Core Tools 在本地创建和运行 Azure Functions - Training | Microsoft Learn 文档 使用 Core Tools 在本地开发 Azure Functions | Microsoft Learn GitHub - Azure/azure-functions-core-tools: Command line tools for Azure Functions 其它 安装适用于 A…

纯css实现边界检测小球动画

文章目录 前言实现环境话不多说直接上代码后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:css实现炫酷的动画 🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错…

北醒携全球首款256线车规量产激光雷达亮相广州国际车展

11月17日,北醒携全球首款256线车规量产激光雷达亮相广州国际车展。在车展期间,北醒还公布了与广州花都区人民政府达成投资合作,获滴滴自动驾驶投资以及与捷普联合打造的全球首条量产256线级别车规激光雷达的生产线即将贯通的等多条利好信息&a…

2023-11-20 LeetCode每日一题(最大子数组和)

2023-11-20每日一题 一、题目编号 53. 最大子数组和二、题目链接 点击跳转到题目位置 三、题目描述 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的…

使用dlopenC++动态库的函数符号的常规做法

文章目录 一、Name Mangling二、extern "C"三、Loading Functions四、Loading Classes参考 一、Name Mangling 在 C 中,符号名称与函数名称相同:strcpy 的符号将是 strcpy,因为在 C 中没有两个非静态函数可以具有相同的名称。 因…

C语言童年生活二三事(ZZULIOJ1091:童年生活二三事(多实例测试))

题目描述 Redraiment小时候走路喜欢蹦蹦跳跳,他最喜欢在楼梯上跳来跳去。 但年幼的他一次只能走上一阶或者一下子蹦上两阶。 现在一共有N阶台阶,请你计算一下Redraiment从第0阶到第N阶共有几种走法。 输入:输入包括多组数据。 每组数据包括一…

antd design 5 版本 文件上传

<UploadcustomRequest{customRequest}accept".csv" showUploadList{false}><Button icon{<UploadOutlined />}>上传 CSV 文件</Button></Upload> accept 代表限制的上传类型 也可设置 .excel // 文件上传 ( CSV ) const customReques…

Python开源自动化工具Playwright安装及介绍

一个非常强大的自动化项目叫 playwright-python 它支持主流的浏览器&#xff0c;包含&#xff1a;Chrome、Firefox、Safari、Microsoft Edge 等&#xff0c;同时支持以无头模式、有头模式运行&#xff0c;并提供了同步、异步的 API&#xff0c;可以结合 Pytest 测试框架 使用&…

Kafka(四)消费者消费消息

文章目录 如何确保不重复消费消息&#xff1f;消费者业务逻辑重试消费者提交自定义反序列化类消费者参数配置及其说明重要的参数session.time.ms和heartbeat.interval.ms和group.instance.id增加消费者的吞吐量消费者消费的超时时间和poll()方法的关系 消费者消费逻辑启动消费者…

万宾科技智能井盖传感器,提升市政井盖健康

市政井盖就是城市里不可或缺的基础设施之一&#xff0c;关于它的监测工作可马虎不得。它承载着保护市民的交通安全以及城市正常运转的重要使命。虽然现在城市化的速度很快&#xff0c;但是传统的市政井盖管理方式变得有些力不从心了。井盖的覆盖范围很广&#xff0c;如果单单依…

Python 安装win32com失败

今天进行服务器迁移&#xff0c; 中间有用的python调用win32com组件让docx转换成pdf。不出意外的话出意外了&#xff0c;pip安装win32com的时候各种安装不上&#xff0c; 今天处理完问题之后&#xff0c;记录一下&#xff0c;与人方便与己方便。 在cmd上面&#xff0c;一开始…

【0235】修改私有内存(private memory)中的MyBEEntry时,st_changecount值前后变化

上一篇: 【0234】PgBackendStatus 记录当前postgres进程的活动状态 1. pg_stat_activity中xxx实时信息如何实现? 客户端(eg:psql)在连接上postmaster之后,postmaster守护进程会fork()一个后端进场(backend process),之后此客户端的所有操作、交互均有此对应的Backen…

智慧安防监控系统EasyCVR(v3.4)开放协议的介绍及使用

安防视频监控系统EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台可拓展性强、视频能力灵活&#xff0c;能…

2023最新软件测试20个基础面试题及答案

什么是软件测试&#xff1f; 答案&#xff1a;软件测试是指在预定的环境中运行程序&#xff0c;为了发现软件存在的错误、缺陷以及其他不符合要求的行为的过程。 软件测试的目的是什么&#xff1f; 答案&#xff1a;软件测试的主要目的是保证软件的质量&#xff0c;并尽可能大…

Kotlin 核心语法,为什么选择Kotlin ?

Kotlin 是一个基于 JVM 的新的编程语言&#xff0c;由 JetBrains 开发。与Java相比&#xff0c;Kotlin的语法更简洁、更具表达性&#xff0c;而且提供了更多的特性。 Kotlin是使用Java开发者的思维被创建的&#xff0c;Intellij作为它主要的开发IDE。对于 Android开发者&#…

Docker基础知识总结

文章目录 1.Docker介绍2.Docker版本3.为什么要使用Docker4.Docker基础组件4.1 镜像&#xff08;Images&#xff09;4.2 容器&#xff08;Container&#xff09;和仓库&#xff08;Repository&#xff09; 5.Docker安装6.Docker run7.Dockerfile8.Docker commit9.镜像发布到镜像…

第三天 - 列表推导式详解

python 中列表推导式&#xff0c;主要完成快速赋值&#xff0c;快速生成列表、元组、字典等应用场景。是一个非常好用的工具。在一些排序过程还可以做为参数传入函数。 1.先来一个尝试一下 alist [x for x in range(1,10)]print(alist) # [1, 2, 3, 4, 5, 6, 7, 8, 9] 2. …

肖sir__linux讲解vim命令(3.1)

vim 命令 一、 vi/vim 编辑器共分为三种模式&#xff1a; 格式 &#xff1a;vim 文件名 命令模式&#xff08;Command mode&#xff09;&#xff0c;“ESC”或ctrlc键 输入模式&#xff08;Insert mode&#xff09; 底线命令模式&#xff08;Last line mode&#xff09; …