Python中os.path.join函数的用法举例详细讲解

 更新时间:2025年02月07日 09:26:40   作者:阿鈞ajunwiwx  
这篇文章主要介绍了Python中os.path.join函数用法的相关资料,os.path.join函数用于拼接路径,根据操作系统自动选择分隔符,它可以处理不同参数的情况,包括绝对路径、空字符串和以特定字符开始的参数,需要的朋友可以参考下

一、os.path.join函数

os.path.join函数用于拼接多个路径字符串,生成一个新的路径字符串。

用法:os.path.join(path,*paths)

二、函数用法个人总结 

 1. 处理不同操作系统的路径分隔符。

 2. 从右往左看参数,如果一个参数<开头>无‘/’或者‘\’,则按照操作系统用分隔符,如果遇到,则左边参数均会被舍弃。

 3. 从右往左看参数,如果有一个参数是一个绝对路径,则在它左边的所有参数均会被舍弃。

 4. 如果最后一个参数为''空,则生成的路径以一个‘\’分隔符结尾(按照操作系统默认分隔符)

 5. 同时存在以‘./’与‘/’开始的参数,以‘/’为主,从最后一个以‘/’开头的参数开始拼接,之前的参数全部丢弃。

 6. 只存在以“. / ”开始的子路径,而不存在以“ / ”开头的子路径,则会将“. / ”里面的“ . ”当作子路径的一部分,进行拼接。

 三、函数的用法示例详解

本台电脑操作系统:Win10

1. 处理不同操作系统的路径分隔符。

 os.path.join函数能够根据操作系统自动选择适当的路径分隔符。例如Windows使用反斜杠\’,而Unix和Mac使用正斜杠/

本台电脑操作系统:Win10,所以只能展示基本用法

Demo1

import os

print(os.path.join('path', 'www', 'xxx', 'iii'))

# 输出:path\www\xxx\iii

2. 从右往左看参数,如果一个参数<开头>无正斜杠‘/’或者反斜杠‘\’,则按照操作系统用分隔符,如果遇到,则左边参数均会被舍弃。

Demo2

import os

print(os.path.join('path', 'www', 'xxx', 'iii'))  
# 输出:path\www\xxx\iii

print(os.path.join('path', 'www', 'xxx', '/iii'))  
# 输出:/iii

print(os.path.join('path', 'www', '/xxx', 'iii'))  
# 输出:/xxx\iii

print(os.path.join('path', '/www', 'xxx', 'iii'))
# 输出:/www\xxx\iii

print(os.path.join('path', '\www', 'xxx', 'iii'))
# 输出:\www\xxx\iii

print(os.path.join('p/a/t/h/', 'www/', 'x/x/x/', 'ii/i'))  # 如果使用都是‘/',则要在参数末尾加上/,不然会根据操作系统变成\
# 输出:p/a/t/h/www/x/x/x/ii/i

3. 从右往左看参数,如果有一个参数是一个绝对路径,则在它左边的所有参数均会被舍弃。

Demo3

import os

print(os.path.join('path', 'www', 'xxx', 'iii'))
# 输出:path\www\xxx\iii

print(os.path.join('path', 'w:ww', 'xxx', 'iii'))
# 输出:w:ww\xxx\iii

print(os.path.join('path', 'w:\ww', 'x:xx', 'iii'))
# 输出:x:xx\iii

print(os.path.join('path', 'w:\ww', 'x:xx', '/iii'))
# 输出:x:/iii

print(os.path.join('path', 'w:\ww', 'xxx', '/iii'))
# 输出:w:/iii

print(os.path.join('path', 'w:\ww', 'xxx', 'iii.txt'))
# 输出:w:\ww\xxx\iii.txt

4. 如果最后一个参数为''空,则生成的路径以一个‘\’分隔符结尾

 Demo4

import os

print(os.path.join('path', 'www', 'xxx', 'iii'))
# 输出:path\www\xxx\iii

print(os.path.join('path', 'www', 'xxx', 'iii', ''))
# 输出:path\www\xxx\iii\

5. 同时存在以‘./’与‘/’开始的参数,以‘/’为主,从最后一个以‘/’开头的参数开始拼接,之前的参数全部丢弃。

Demo5

import os

print(os.path.join('path', 'www', 'xxx', 'iii'))
# 输出:path\www\xxx\iii

print(os.path.join('path', './www', '/xxx', 'iii'))
# 输出:/xxx\iii

print(os.path.join('path', './www', '/xxx/', 'iii'))
# 输出:/xxx/iii

print(os.path.join('path', 'www', '/xxx', './iii'))
# 输出:/xxx\./iii

print(os.path.join('path', 'www', '/xxx/', './iii'))
# 输出:/xxx/./iii

6. 只存在以“. / ”开始的子路径,而不存在以“ / ”开头的子路径,则会将“. / ”里面的“ . ”当作子路径的一部分,进行拼接。

Demo6

import os

print(os.path.join('path', 'www', 'xxx', 'iii'))
# 输出:path\www\xxx\iii

print(os.path.join('path', 'www', 'xxx', './iii'))
# 输出:path\www\xxx\./iii

print(os.path.join('path', 'www', './xxx', 'iii'))
# 输出:path\www\./xxx\iii

总结 

到此这篇关于Python中os.path.join函数用法的文章就介绍到这了,更多相关Python os.path.join函数用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 全面了解python字符串和字典

    全面了解python字符串和字典

    下面小编就为大家带来一篇全面了解python字符串和字典。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • Python用Bottle轻量级框架进行Web开发

    Python用Bottle轻量级框架进行Web开发

    这篇文章主要介绍了Python用Bottle轻量级框架进行Web开发的相关资料,需要的朋友可以参考下
    2016-06-06
  • Python列表list常用内建函数实例小结

    Python列表list常用内建函数实例小结

    这篇文章主要介绍了Python列表list常用内建函数,结合实例形式总结分析了Python列表list常见内建函数的功能、使用方法及相关操作注意事项,需要的朋友可以参考下
    2019-10-10
  • vscode+PyQt5安装详解步骤

    vscode+PyQt5安装详解步骤

    这篇文章主要介绍了vscode+PyQt5安装详解步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • python的文件操作方法汇总

    python的文件操作方法汇总

    文件操作对编程语言的重要性不用多说,如果数据不能持久保存,信息技术也就失去了意义。按照本人经验,IO也是蛮头疼的一件事,因为不会用得太多,所以总是记不住API,每次都要重新google就会打断思路,还不一定每次都快速得到正确的文章。
    2017-11-11
  • PyQt5多线程实现UI不卡顿的解决方案

    PyQt5多线程实现UI不卡顿的解决方案

    在PyQt5中,为了避免长时间的操作阻塞UI界面(导致界面卡死),我们可以使用多线程,通常,我们将耗时的任务放在一个单独的线程中运行,,并通过信号与槽机制与UI线程进行通信,以更新界面,下面是一个示例,演示了如何在更新UI的同时进行多线程操作,确保UI界面不会卡死
    2026-01-01
  • python 利用文件锁单例执行脚本的方法

    python 利用文件锁单例执行脚本的方法

    今天小编就为大家分享一篇python 利用文件锁单例执行脚本的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • python离线安装requests模块并且在pycharm中实现使用

    python离线安装requests模块并且在pycharm中实现使用

    文章主要介绍了如何在Python中离线安装requests模块及其依赖包,包括手动下载安装包、验证安装以及在PyCharm中配置解释器以正确识别安装的模块
    2025-11-11
  • Python利用omegaconf库轻松实现配置文件管理

    Python利用omegaconf库轻松实现配置文件管理

    omegaconf是一个灵活且强大的Python配置管理库,支持YAML,dict,列表等多种数据格式,下面我们就来看看如何使用omegaconf实现配置文件管理吧
    2025-02-02
  • anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)

    anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)

    这篇文章主要介绍了anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02

最新评论