python中的路径拼接问题
作者:酷酷的Herio 发布时间:2021-02-06 11:28:56
标签:python,路径,拼接
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
0
投稿
猜你喜欢
- 前言:有些时候,为了设定手机铃声或者发抖音视频,我们会耗费大量时间在剪辑音乐高潮部分上。那么这个音乐高潮的提取能不能自动化呢?当然可以。先来
- 0x01 安装pyinotify>>> pip install pyinotify>>> import
- 1. 使用性能分析器Golang提供了内置的性能分析工具 pprof,可以帮助您分析和优化应用程序的性能瓶颈。下面是使用 
- threading.Event机制类似于一个线程向其它多个线程发号施令的模式,其它线程都会持有一个threading.Event的对象,这些
- #!/bin/sh#code by scpman#功能:检查并修复mysql数据库表#将此脚本加到定时中,脚本执行时,等会读库,列出要修复的
- 由于mysql数据库的相关内部问题 导致delete from table where col not in (select col fro
- 内容摘要:一堆数据摆面前,数据背后有什么样的事情在发生,这些数据里面暗藏着什么样的用户需求,什么样的商业机会?看懂这些,将为未来产品设计的方
- 如下代码可以计算输入的两张图像的结构相似度(SSIM),结果与matlab计算结果一致// An highlighted blockimpo
- 本文实例讲述了JS异步函数队列功能。分享给大家供大家参考,具体如下:场景:做直播,会有入场消息,入场特效,用户如果有坐骑,需要给他展示几秒钟
- 为什么要用python调用matlab?我自己的有些数据结构涉及到hash查找,在python中key是tuple形式,在matlab中支持
- 之前写过的组织结构和组织体系都太抽象了,读到标签系统我才有那种“略懂”的感觉。哈哈…书上提到的标签包括:导航情境式链接:常见的“更多”这种用
- PyQt5 QtChart-散点图QScatterSeries类将数据以散点图显示import sysimport randomfrom P
- 本文实例讲述了python使用cPickle模块序列化的方法,分享给大家供大家参考。具体方法如下:import cPickledata1 =
- Python assert 语句,又称断言语句,可以看做是功能缩小版的 if 语句,它用于判断某个表达式的值,如果值为真,则程序可以继续往下
- 实例如下所示:#!/usr/bin/python# -*- coding: UTF-8 -*-import reimport urllib,
- 简介procedure analyse()函数是MySQL内置的对MySQL字段值进行统计分析后给出建议的字段类型。语法procesure
- Delphi连接MySQL真麻烦,研究了一天,从网上找了无数文章,下载了无数插件都没解决。最后返璞归真,老老实实用ADO来连接,发现也不是很
- 因为固体物理书上的球面投影图太难看,就自学 javascipt 用 echarts 做了个可交互的,效果如下:上面为立方晶系主要晶面(晶向)
- 一、需求分析最近同事用网上提供扫描软件进行扫描识别文字,每天上线只能够做两次扫描,请求我研发一个小工具帮助解决识别图片的中文字。二、方案选择
- 上周用了一周的时间学习了Python和Scrapy,实现了从0到1完整的网页爬虫实现。研究的时候很痛苦,但是很享受,做技术的嘛。首先,安装P