如何使用正则表达式选择文件路径的单个部分

2024-04-27 21:00:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个文件路径:

"C:/Users/myname/Documents/KF0_IFN_HLA_11.csv"

如何使用正则表达式来获取"KF0_IFN_HLA_11.csv"部分?你知道吗

我是Python的初学者,我正在寻找一些关于如何解决上述问题的技巧。你知道吗


Tags: 文件csv路径技巧usersdocumentshla初学者
2条回答

选项1(不推荐):

首先使用re.searchimport re):

In [1099]: re.search(r'.*/(.*)$', text).group(1)
Out[1099]: 'KF0_IFN_HLA_11.csv'

模式是

r'.*/(.*)$'

它提取最后一个正斜杠后面的位。你知道吗


选项2(推荐):

首先使用os.path.splitos.path.basenameimport os):

In [1100]: os.path.split(text)[1]
Out[1100]: 'KF0_IFN_HLA_11.csv'

In [1101]: os.path.basename(text)
Out[1101]: 'KF0_IFN_HLA_11.csv'

os.path.split将路径分为头部和尾部,这里您只需提取尾部,因为这就是您需要的。你知道吗

os.path.basename自动返回尾部。你知道吗

我不会为此使用regex,而是使用os.path模块更合适。使用os.path.basename将提取没有完整路径的文件。你知道吗

>>> import os
>>> p = r"C:/Users/myname/Documents/KF0_IFN_HLA_11.csv"
>>> os.path.basename(p)
'KF0_IFN_HLA_11.csv'

相关问题 更多 >