Python 把任意系统的路径转换成当前系统的格式(关于 / \ 分隔符的)

Python 3.6.7 

不管输入的路径是 \ 还是 /,也不管当前系统需要什么样的,都能正确转换。 

1. 逻辑比较清晰

import os


def convert_path(path: str) -> str:
    seps = r'\/'
    sep_other = seps.replace(os.sep, '')
    return path.replace(sep_other, os.sep) if sep_other in path else path


print(convert_path(r'a\b\c\d\e'))
print(convert_path(r'a/b/c/d/e'))
print(convert_path(r'a\b/c\d/e'))
# a/b/c/d/e
# a/b/c/d/e
# a/b/c/d/e

# 我的是Mac,所以 os.sep 是 /

 2. 其实,判断 in 也是需要遍历,replace 又要遍历,还不如不判断 in 直接使用replace效率更高呢。

import os


def convert_path(path: str) -> str:
    return path.replace(r'\/'.replace(os.sep, ''), os.sep)

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值