python中的路径拼接问题
作者:酷酷的Herio 时间:2021-02-06 11:28:56
python路径拼接
使用:
os.path.join()函数:连接两个或更多的路径名组件
如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃
如果最后一个组件为空,则生成的路径以一个 \ 分隔符结尾
def test2():
s1, s2, s3 = 'home', 'courses', 'test'
res = os.path.join(s1, s2, s3)
print(res) # home\courses\test
s2 = '/courses'
res = os.path.join(s1, s2, s3)
print(res) # /courses\test
s1, s2, s3 = '\home', 'courses', 'test'
res = os.path.join(s1, s2, s3)
print(res) # \home\courses\test
s1, s2, s3 = '\home', 'courses', ''
res = os.path.join(s1, s2, s3)
print(res) #\home\courses\
home\courses\test
/courses\test
\home\courses\test
\home\courses\
python os.path.join路径拼接错误
ss = 'E:\\Cloud\\20200813105812L\\res\\1\\425'
a = '\\8_live_1962854245_export_files\\media'
c = os.path.join(ss,a)
print(c)
得到的是如下结果:
os.path.join()函数
连接两个或更多的路径名组件:
参数可能存在多个
从右边开始数,遇到第一个以”/”开头的参数,开始拼接,这个参数左边的全部丢弃
print("0:",os.path.join('\\aaaa','bbbb','ccccc.txt'))
print("0:",os.path.join('aaaa','\\bbbb','ccccc.txt'))
print("0:",os.path.join('aaaa','bbbb','\\ccccc.txt'))
print("0:",os.path.join('aaaa','\\bbbb','\\ccccc.txt'))
print("0:",os.path.join('aaaa','/bbbb','\\ccccc.txt'))
print("0:",os.path.join('aaaa','/bbbb','/ccccc.txt'))
结果:
0: \aaaa\bbbb\ccccc.txt
0: \bbbb\ccccc.txt
0: \ccccc.txt
0: \ccccc.txt
0: \ccccc.txt
0: /ccccc.txt
从右边开始数,遇到第一个以”/”开头的参数,开始拼接,这个参数左边的全部丢弃
print("1:",os.path.join('aaaa','xxxxxx','./bbb','ccccc.txt'))
print("1:",os.path.join('./aaaa','xxxxxx','./bbb','./ccccc.txt'))
结果:
1: aaaa\xxxxxx\./bbb\ccccc.txt
1: ./aaaa\xxxxxx\./bbb\./ccccc.txt
带盘符,/,\各种复杂情况(正式使用前先测试,也可以去看看源码具体是怎么解析的)
# 后面的斜杠反斜杠
print("1:",os.path.join('c:','bbb'))
print("1:",os.path.join('c:','bbb/\\','ccccc.txt'))
# 未加盘符
print("2:",os.path.join('c','/bbb','ccccc.txt')) # 会以/bbb开头
print("2:",os.path.join('c:','/bbb','ccccc.txt')) # 虽然有反斜杆 但是依旧以C:开头
print("2:",os.path.join('c:/','/bbb','ccccc.txt')) # 多个/只会有一个
# 盘符后面未加斜杠
print("3:",os.path.join('c:','bbb','ccccc.txt'))
print("3:",os.path.join('c:/','bbb','ccccc.txt'))
结果:
1: c:bbb
1: c:bbb/\ccccc.txt
2: /bbb\ccccc.txt
2: c:/bbb\ccccc.txt
2: c:/bbb\ccccc.txt
3: c:bbb\ccccc.txt
3: c:/bbb\ccccc.txt
来源:https://blog.csdn.net/weixin_45750972/article/details/124100577
标签:python,路径,拼接
0
投稿
猜你喜欢
通过SQL Server的位运算功能巧妙解决多选查询方法
2012-01-29 17:54:35
无法使用pip命令安装python第三方库的原因及解决方法
2023-11-24 00:32:33
php mysql PDO 查询操作的实例详解
2023-11-14 18:32:28
Python如何实现定时器功能
2023-04-13 23:19:28
如何判断用户是否非正常离开聊天室?
2010-01-18 20:30:00
ASP 三层架构 Error处理类
2011-03-16 11:06:00
Python Pygame实现兔子猎人守护城堡游戏
2021-09-21 11:09:59
Python图像增强imgaug详解
2022-02-07 17:07:40
Python OpenCV实现图像傅里叶变换
2022-06-19 04:43:55
教你如何使用Python开发一个钉钉群应答机器人
2023-08-03 17:44:16
快速一键生成Python爬虫请求头
2022-05-21 01:00:53
Python环境下搭建属于自己的pip源的教程
2021-12-19 05:57:54
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
2023-06-06 22:45:50
Perl中的正则表达式介绍
2023-08-11 21:14:25
浅谈python中的实例方法、类方法和静态方法
2022-02-10 07:11:27
pandas使用之宽表变窄表的实现
2022-04-21 06:04:02
js 玩转正则表达式之语法高亮
2023-06-24 05:35:42
Python中基本数据类型和常用语法归纳分享
2023-09-08 21:08:01
pytorch 如何把图像数据集进行划分成train,test和val
2023-12-26 15:28:10
Python读取pdf表格写入excel的方法
2023-08-25 12:33:18