Python:提取字符串的某部分
我有一个字符串,我想从中提取某个部分。这个字符串看起来像这样:
E:/test/my_code/content/dir/disp_temp_2.hgx
这是机器上一个特定文件的路径,文件扩展名是hgx。
我想准确地提取出“disp_temp_2”。问题是我使用了strip函数,但它对我来说不太管用,因为路径中有很多个'/'。另一个问题是,上面的路径在电脑上总是会变化。
有没有什么方法可以让我提取出最后一个'/'和'.'之间的确切字符串呢?
我的代码是这样的:
path = path.split('.')
.. 现在我无法根据最后一个'/'进行分割。
有没有什么想法可以做到这一点?
谢谢
6 个回答
1
标准库真不错:
>>> from os import path
>>> f = "E:/test/my_code/content/dir/disp_temp_2.hgx"
>>> path.split(f)[1].rsplit('.', 1)[0]
'disp_temp_2'
3
Python自带了一个叫做 os.path
的模块,这个模块提供了更好的工具来处理文件路径和文件名。
>>> import os.path
>>> p = "E:/test/my_code/content/dir/disp_temp_2.hgx"
>>> head, tail = os.path.split(p)
>>> tail
'disp_temp_2.hgx'
>>> os.path.splitext(tail)
('disp_temp_2', '.hgx')
6
使用 os.path 模块:
import os.path
filename = "E:/test/my_code/content/dir/disp_temp_2.hgx"
name = os.path.basename(filename).split('.')[0]