美文网首页
python 将两个绝对路径拼接在一起

python 将两个绝对路径拼接在一起

作者: Dream_RM | 来源:发表于2018-11-24 22:05 被阅读0次
    • 在写某些程序时,需要将数据传入指定的目录中, 如果这时传输的不是相对路径, 则 os.path.join 无法进行拼接
    • 所以我们写了一下代码
    #!/usr/bin/env python3
    import os
    
    
    def two_abs_join(abs1, abs2):
        """
        将 绝对路径将两个绝对路径拼接,
        就是将第二个的开路径(windows 的  C, D,E ... Linux 的 /root 最前面的 / 删除掉)
        :param abs1:  为主的路径
        :param abs2:  被拼接的路径
        :return: 拼接后的数值
        """
        # 1. 格式化路径(将路径中的 \\ 改为 \)
        abs2 = os.fspath(abs2)
    
        # 2. 将路径文件拆分
        abs2 = os.path.splitdrive(abs2)[1]
        # 3. 去掉开头的 斜杠
        abs2 = abs2.strip('\\/') or abs2
        return os.path.abspath(os.path.join(abs1, abs2))
    
    
    user_home = r'E:\ftp\home\alex'
    get_file_path = r"C:/a/alex.py"
    
    t = two_abs_join(user_home, get_file_path)
    print(t)
    
    
    user_home = r'/user/path/alex/'
    get_file_path = r"/root/alex.py"
    t1 = two_abs_join(user_home, get_file_path)
    
    print(t1)
    
    • 结果
    E:\ftp\home\alex\a/alex.py
    /user/path/alex/root/alex.py
    

    相关文章

      网友评论

          本文标题:python 将两个绝对路径拼接在一起

          本文链接:https://www.haomeiwen.com/subject/dequqqtx.html