如何用单个斜杠替换目录中的多个正斜杠?

时间:2020-10-21 08:01:58

标签: python string path

我的路径:

'/home//user////document/test.jpg'

我希望将其转换为:

'/home/user/document/test.jpg'

该怎么做?

5 个答案:

答案 0 :(得分:7)

使用os.path.abspathnormpath规范化路径:

>>> import os.path
>>> os.path.abspath('/home//user////document/test.jpg')
'/home/user/document/test.jpg'

答案 1 :(得分:3)

解决方案:
此代码段应解决您的问题:

import re
x = '/home//user////document/test.jpg'
re.sub('/+','/', x)

输出:

'/home/user/document/test.jpg'

答案 2 :(得分:0)

使用Regex,此解决方案非常简单。
您可以使用Python标准库的“ re”模块。

import re

old_path = '/home//user////document/test.jpg'
converted_path = re.sub('/+', '/', old_path)

很抱歉,我不会流利的英语;)

答案 3 :(得分:0)

实例化字符串中的pathlib.Path对象将自动为您删除多余的斜杠:

from pathlib import Path

path = Path('/home//user////document/test.jpg')
print(path)
# /home/user/document/test.jpg

答案 4 :(得分:-1)

我认为最简单的方法是用'//'两次替换'/'

a = '/home//user////document/test.jpg'

a.replace('//', '/').replace('//', '/')