![](/img/trans.png)
[英]How to configure Django to redirect multiple slashes (/) to single slash
[英]How to replace multiple forward slashes in a directory by a single slash?
我自己的路:
'/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'
通過使用正則表達式,此解決方案非常簡單。
您可以使用 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('//', '/')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.