我的路径:
'/home//user////document/test.jpg'
我想把它转换成:
'/home/user/document/test.jpg'
如何做到这一点?
使用os.path.abspath
或normpath
规范化路径:
>>> import os.path
>>> os.path.abspath('/home//user////document/test.jpg')
'/home/user/document/test.jpg'
解决方案:
此代码片段应该可以解决您的问题:
import re
x = '/home//user////document/test.jpg'
re.sub('/+','/', x)
输出:
'/home/user/document/test.jpg'
通过使用Regex,这个解决方案非常简单
您可以使用Python标准库的"re"模块。
import re
old_path = '/home//user////document/test.jpg'
converted_path = re.sub('/+', '/', old_path)
很抱歉英语说得不流利;(
从字符串中实例化pathlib.Path
对象将自动为您删除冗余斜杠:
from pathlib import Path
path = Path('/home//user////document/test.jpg')
print(path)
# /home/user/document/test.jpg
我认为最简单的方法是用'/'
替换'//'
两次:
a = '/home//user////document/test.jpg'
a.replace('//', '/').replace('//', '/')