如果我有一个像这样的文件名:
1.1.1.1.1.jpg
1.1.jpg
1.jpg
Run Code Online (Sandbox Code Playgroud)
如果没有扩展名,我怎么才能得到文件名?正则表达式是否合适?
Mar*_*tos 192
在大多数情况下,您不应该使用正则表达式.
os.path.splitext(filename)[0]
Run Code Online (Sandbox Code Playgroud)
这也将.bashrc通过保留整个名称来正确处理文件名.
Len*_*bro 25
>>> import os
>>> os.path.splitext("1.1.1.1.1.jpg")
('1.1.1.1.1', '.jpg')
Run Code Online (Sandbox Code Playgroud)
Vla*_*den 11
您可以使用stem方法获取文件名。
下面是一个例子:
from pathlib import Path
p = Path(r"\\some_directory\subdirectory\my_file.txt")
print(p.stem)
# my_file
Run Code Online (Sandbox Code Playgroud)
Ala*_*ore 10
如果我必须使用正则表达式执行此操作,我会这样做:
s = re.sub(r'\.jpg$', '', s)
Run Code Online (Sandbox Code Playgroud)
不需要正则表达式.os.path.splitext是你的朋友:
os.path.splitext('1.1.1.jpg')
>>> ('1.1.1', '.jpg')
Run Code Online (Sandbox Code Playgroud)