我的路径:
'/home//user////document/test.jpg'
我希望将其转换为:
'/home/user/document/test.jpg'
该怎么做?
答案 0 :(得分:7)
使用os.path.abspath
或normpath
规范化路径:
>>> 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('//', '/')