Python新手必备:掌握os.path模块的8个神奇函数

news2024/11/24 14:21:39

在Python编程中,os.path模块是一个非常重要的模块,它提供了用于处理文件路径和目录的函数。这些函数可帮助你执行各种文件和目录操作,例如文件检查、路径拼接、目录创建等。

本文将介绍os.path模块中最常用的8个内置函数,并附带丰富的示例代码,方便更好地理解它们的用法。

1. os.path.join() - 拼接路径

os.path.join()函数用于拼接一个或多个路径组件,生成一个合法的路径。这对于在不同操作系统上构建路径非常有用,因为它会自动处理斜杠(/或\)的差异。

示例代码:

import os

path = os.path.join("folder", "subfolder", "file.txt")
print(path)

这将在不同操作系统上生成适当的路径,如:

  • 在Windows上:folder\subfolder\file.txt
  • 在Linux或macOS上:folder/subfolder/file.txt

2. os.path.abspath() - 获取绝对路径

os.path.abspath()函数用于获取指定路径的绝对路径。绝对路径是从文件系统根目录开始的完整路径,可用于解析相对路径。

示例代码:

import os

path = "folder/file.txt"
absolute_path = os.path.abspath(path)
print(absolute_path)

这将返回指定文件的绝对路径,如/home/user/folder/file.txt

3. os.path.basename() - 获取文件名

os.path.basename()函数用于从给定路径中提取文件名部分。

示例代码:

import os

path = "/path/to/folder/file.txt"
file_name = os.path.basename(path)
print(file_name)

这将返回文件名,如file.txt

4. os.path.dirname() - 获取目录名

os.path.dirname()函数用于从给定路径中提取目录名部分。

示例代码:

import os

path = "/path/to/folder/file.txt"
directory = os.path.dirname(path)
print(directory)

这将返回目录名,如/path/to/folder

5. os.path.exists() - 检查路径是否存在

os.path.exists()函数用于检查指定的路径是否存在。

示例代码:

import os

path = "/path/to/nonexistent/file.txt"
if os.path.exists(path):
    print("Path exists.")
else:
    print("Path does not exist.")

根据路径是否存在,它将输出不同的消息。

6. os.path.isfile() - 检查是否为文件

os.path.isfile()函数用于检查指定的路径是否是一个文件。

示例代码:

import os

path = "/path/to/file.txt"
if os.path.isfile(path):
    print("It's a file.")
else:
    print("It's not a file.")

它将根据路径的类型输出不同的消息。

7. os.path.isdir() - 检查是否为目录

os.path.isdir()函数用于检查指定的路径是否是一个目录。

示例代码:

import os

path = "/path/to/folder"
if os.path.isdir(path):
    print("It's a directory.")
else:
    print("It's not a directory.")

它将根据路径的类型输出不同的消息。

8. os.path.splitext() - 分割文件名和扩展名

os.path.splitext()函数用于将文件名分割成名称和扩展名两部分。

示例代码:

import os

file_path ="/path/to/file.txt"
file_name, file_extension = os.path.splitext(file_path)
print("File name:", file_name)
print("File extension:", file_extension)

这将输出文件名和扩展名,如:

  • 文件名:file
  • 文件扩展名:.txt

总结

os.path模块提供了一组强大的函数,用于处理文件路径和目录。这些函数在文件操作、文件路径构建和路径检查等任务中非常有用。通过使用这些函数,可以更容易地管理文件和目录,同时确保代码在不同操作系统上的兼容性。


如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
Python全套学习资料

在这里插入图片描述

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1312324.html

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

相关文章

GitHub帐户管理更改电子邮件

登录到您的 GitHub 帐户: 前往 GitHub 网站并使用您的凭据登录。 访问个人设置: 单击右上角的您的头像,然后选择“Settings”(设置)。 选择电子邮件选项卡: 在左侧边栏中选择“Emails”(电子邮…

忘记了路由器的用户名和密码,怎么办?

注意:登录窗口会显示路由器型号,请务必确认是您自己路由器的界面。 解决方法 尝试输入登录密码 如果您的确忘了设置好的密码,就只能把路由器恢复出厂设置,没有超级密码。 恢复出厂前,不妨尝试输入可能的管理密码。一…

Python从门到精通(九):matploblib图形库

Matplotlib 是一个数字绘图库,可以绘制多种图形 绘制图形 曲线图 import matplotlib.pyplot as pltclass PltDemo:def __init__(self) -> None:# 数据self.squares [1, 4, 9, 16, 25]def init_ax(self):# flg:由生成的一系列绘图构建成的整体个图…

SpringBoot中敏感信息脱敏(一个注解搞定)

📞简介:一个注解快速搞定敏感数据脱敏,例如手机号、姓名、银行卡号、身份证号等 一、简述 数据脱敏:数据脱敏,指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。这样就可以在开发…

Python Socket编程

Python Socket编程 文章目录 Python Socket编程1. 弄懂HTTP、Socket、TCP这几个概念五层网络模型 2. client和server实现通信Socket编程模式指南代码实现 3. socket实现聊天和多用户连接4. socket模拟http请求5. socket使用I/O多路复用模式模拟http请求 1. 弄懂HTTP、Socket、T…

基于node.js和Vue游戏商城系统设计

游戏商城系统是一个在线平台,旨在为用户提供购买和销售电子游戏、游戏内物品和其他相关服务。游戏商城系统的主要目标是为玩家提供一个方便、快捷、安全的购物环境,同时也为游戏开发商和发行商提供一个有效的销售渠道。通过这个平台,玩家可以…

【Spring Boot 】Spring Boot 常用配置总结

文章目录 前言1.多环境配置application.propertiesapplication.yaml 2.常用配置3.配置读取4.自定义配置 前言 在涉及项目开发时,通常我们会灵活地把一些配置项集中在一起,如果你的项目不是很大的情况下,那么通过配置文件集中不失为一个很好的…

Android studio 离线配置gradle

Gradle Distributions Gradle Distributions 查看gradle 文件夹下 gradle-wrapper.properties文件中的distributionUrl 版本号 然后在上边网站下载对应需要的gradle对应版本 下载后复制到 gradle wrapper文件下,同时修改 distributionUrl 指向本地文件 然后同步就…

ChatGPT热门项目

1.智能GPT 项目地址:智能GPT:你只要提供OpenAI的API Key,那么它就可以根据你设定的目标,采用Google搜索、浏览网站、执行脚本等方式 主要语言:Python 推荐理由:这是由开发者Significant Gravitas推出的项目…

每天一点python——day94

#每天一点Python——94 #面向对象的三大特征——封装 封装:隐藏内部细节,对外提供操作方式。【提高程序的安全性】 继承:在函数调用时,使用’形参名称值‘的方式进行传参,传递参数的顺序可以与定义时参数顺序不同【提高…

8086汇编程序:多位数码管动态扫描显示2023

实验目的 1.掌握8255A和8086CPU接口方法,掌握8255A的工作方式和编程原理。 2.掌握多位数码管动态扫描显示的工作原理和编程方法。 实验内容 设计8255A 与多位共阴极数码管接口电路,实现在四位LED共阴极数码管上显示数字2023 8255A工作在方式0基本输入输出…

做数据分析为何要学统计学(10)——什么是回归分析

​回归分析(regression analysis)是量化两种或两种以上因素/变量间相互依赖关系的统计分析方法。回归分析根据因素的数量,分为一元回归和多元回归分析;按因素之间依赖关系的复杂程度,可分为线性回归分析和非线性回归分析。我们通过…

跑代码中遇到的错误合集(持续更新)

1.TypeError: dropout(): argument ‘input‘ (position 1) must be Tensor, not str 原因:dropout函数接收到的参数是一个字典类型(需手动设置其不要返回字典类型) 解决步骤: 1.根据代码定位到dropout函数 2.定位到函数中的参数 3.对给dropout函数参数赋值的函数的…

【C++练级之路】【Lv.4】类和对象(下)(初始化列表,友元,static成员,编译器的优化)

目录 一、再谈构造函数1.1 构造函数体赋值1.2 初始化列表1.3 explicit关键字 二、static成员2.1 概念2.2 特性 三、友元3.1 引入3.2 友元函数3.2.1 概念3.2.2 特性 3.3 友元类3.3.1 概念3.3.2 特性 四、内部类4.1 概念4.2 特性 五、匿名对象六、编译器的优化6.1 传参优化6.1.1 …

使用python做一个实用的工具,便捷的定位和操作文档

环境准备:totalcommander 我用的totalcommander,python脚本的快捷键也是在totalcommander中注册的,所以需要先在TC界面下,才能通过预定义的快捷键唤起 python 脚本。以下是我的 totalCommander界面,我定义的快捷键是 …

jrebel debug 启动不起来

idea更新之后jrebel debug模式启动不起来。 将下面的设置取消之后就可以了,希望能帮到你们… 被卡了两天… jrebel信息。 idea IntelliJ IDEA 2023.3.1 (Ultimate Edition) Build #IU-233.11799.300, built on December 12, 2023 Licensed to Alexandra Martin…

VHDL实验:基于有限状态机实现秒表

题目要求: 利用有限状态机实现实现一个具有启动、停止、清零功能的秒表,显示格式:分:秒:十分秒。启动、停止、清零由一个按键控制,按键按下时,功能按启动、停止、清零顺序循环。 思路分析&…

搭配环境—Python解释器

对于一些库,需要创建虚拟环境(就是给你电脑创建一个虚拟的地方来存,这个虚拟的地方有很多,需要自己找) 对于人脸识别项目存在 使用的这个解释器,其他解释器可以去envs找找

智能高效的Go开发工具GoLand v2023.3发布,支持AI辅助编码!

GoLand 使 Go 代码的阅读、编写和更改变得非常容易。即时错误检测和修复建议,通过一步撤消快速安全重构,智能代码完成,死代码检测和文档提示帮助所有 Go 开发人员,从新手到经验丰富的专业人士,创建快速、高效、和可靠的…

黑豹程序员-原生JS拖动div到任何地方-自定义布局

效果图 代码html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html xmlns"http://www.w3.org/1999/xhtml"> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8" /…