如何从Python路径中获取不带扩展名的文件名?
#1楼
>>> print(os.path.splitext(os.path.basename("hemanth.txt"))[0])
hemanth
#2楼
在Windows系统上,我也使用drivername前缀,例如:
>>> s = 'c:\\temp\\akarmi.txt'
>>> print(os.path.splitext(s)[0])
c:\temp\akarmi
因此,由于不需要驱动器号或目录名,因此使用:
>>> print(os.path.splitext(os.path.basename(s))[0])
akarmi
#3楼
如果您想保留文件的路径,然后删除扩展名
>>> file = '/root/dir/sub.exten/file.data.1.2.dat'
>>> print ('.').join(file.split('.')[:-1])
/root/dir/sub.exten/file.data.1.2
#4楼
我们可以执行一些简单的split / pop魔术,如此处所示( https://stackoverflow.com/a/424006/1250044 ),以提取文件名(尊重Windows和POSIX的区别)。
def getFileNameWithoutExtension(path):
return path.split('\\').pop().split('/').pop().rsplit('.', 1)[0]
getFileNameWithoutExtension('/path/to/file-0.0.1.ext')
# => file-0.0.1
getFileNameWithoutExtension('\\path\\to\\file-0.0.1.ext')
# => file-0.0.1
#5楼
import os
path = "a/b/c/abc.txt"
print os.path.splitext(os.path.basename(path))[0]
来源:oschina
链接:https://my.oschina.net/stackoom/blog/3143729