当前位置: 代码网 > it编程>前端脚本>Python > Python中os.path.join函数的用法举例详细讲解

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

2025年02月08日 Python 我要评论
一、os.path.join函数os.path.join函数用于拼接多个路径字符串,生成一个新的路径字符串。用法:os.path.join(path,*paths)二、函数用法个人总结1. 处理不同操

一、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函数用法内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com