python中的路径拼接问题怎么解决

本篇内容介绍了“python中的路径拼接问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    python路径拼接

    使用:

    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)

    得到的是如下结果:

    python中的路径拼接问题怎么解决

    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

    “python中的路径拼接问题怎么解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程之家网站,小编将为大家输出更多高质量的实用文章

    相关文章

    功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
    大体上把Python中的数据类型分为如下几类: Number(数字) ...
    开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
    源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
    前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
    python中常用的写爬虫的库有urllib2、requests,对于大多数比...