美文网首页
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