Python:提取字符串的某部分

2 投票
6 回答
922 浏览
提问于 2025-04-16 20:09

我有一个字符串,我想从中提取某个部分。这个字符串看起来像这样:

 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]

撰写回答