Python Windows 路径正则表达式

XRa*_*cat 3 python regex

我花了两个小时来解决这个问题。我有这个字符串:

C:\\Users\\Bob\\.luxshop\\jeans\\diesel-qd\\images\\Livier_11.png 
Run Code Online (Sandbox Code Playgroud)

我有兴趣获得\\Livier_11.png ,但对我来说似乎不可能。我怎样才能做到这一点?

Fel*_*lix 6

我强烈推荐使用 pythonpathlib模块。它是标准库的一部分,旨在处理文件路径。一些例子:

>>> from pathlib import Path
>>> p = Path(r"C:\Users\Bob\.luxshop\jeans\diesel-qd\images\Livier_11.png")
>>> p
WindowsPath('C:/Users/Bob/.luxshop/jeans/diesel-qd/images/Livier_11.png')
>>> p.name
'Livier_11.png'
>>> p.parts
('C:\\', 'Users', 'Bob', '.luxshop', 'jeans', 'diesel-qd', 'images', 'Livier_11.png')
>>> # construct a path from parts
...
>>> Path("C:\some_folder", "subfolder", "file.txt")
WindowsPath('C:/some_folder/subfolder/file.txt')
>>> p.exists()
False
>>> p.is_file()
False
>>>
Run Code Online (Sandbox Code Playgroud)

编辑:

如果你想使用正则表达式,这应该有效:

>>> s = "C:\\Users\\Bob\\.luxshop\\jeans\\diesel-qd\\images\\Livier_11.png"
>>> import re
>>> match = re.match(r".*(\\.*)$", s)
>>> match.group(1)
'\\Livier_11.png'
>>>
Run Code Online (Sandbox Code Playgroud)

  • 如果您在 Unix 机器上使用 Windows 路径,这没有帮助。`NotImplementedError:无法在您的系统上实例化'WindowsPath'` (2认同)