import os
printos.path.splitext(
"path_to_file"
)[0]
from os.path import
basename
# now you can call it directly with
basename
print
basename
(
"/a/b/c.txt"
)
>>>base=os.path.
basename
(
'/root/dir/sub/file.ext'
)
>>> base
'file.ext'
>>> os.path.splitext(base)
(
'file'
,
'.ext'
)
>>> os.path.splitext(base)[0]
'file'
>>>
>>> printos.path.splitext(os.path.
basename
(
"hemanth.txt"
))[0]
hemanth
>>> file =
'/root/dir/sub.exten/file.data.1.2.dat'
>>>
print
(
'.'
).join(file.split(
'.'
)[:-1])
/root/dir/sub.exten/file.data.1.2
>>> s =
'c:\\temp\\akarmi.txt'
>>>
print
(os.path.splitext(s)[0])
c:\temp\akarmi
因此,我不需要驱动器号或者目录名,我使用:
>>>
print
(os.path.splitext(os.path.
basename
(s))[0])
akarmi
def getFileNameWithoutExtension(path):
returnpath.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