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

  • 在写某些程序时,需要将数据传入指定的目录中, 如果这时传输的不是相对路径, 则 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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • 到底...能把喜欢的事作为工作的人有多少? 在这个只为了混口饭的年代我们摒弃梦想,甘愿为了现实俯首称臣,所谓的不忘...
    YL_袁莱阅读 307评论 0 1
  • 自控是什么? 自控就是自己控制自己。在以前,我一直以为自己就是自己的主人,我所有的选择判断都是我自己的意志。所以我...
    钱锋阅读 169评论 1 1
  • 小城故事多。 你用单反 我用手机。
    梁朝伟的小清清阅读 147评论 0 1
  • 护肤 7/7 跑步或体能训练 7/7 跟着组长每天微笑1分钟 7/7 天使班打卡,纪律委员记录积分 7/7 ...
    多悠阅读 75评论 0 0