我有一个像这样的文件路径:
"C:/Users/myname/Documents/KF0_IFN_HLA_11.csv"
我怎样才能使用正则表达式来获取"KF0_IFN_HLA_11.csv"
部分?
我是Python的初学者,我只是在寻找有关如何解决上述问题的一些提示。
答案 0 :(得分:3)
我不会使用正则表达式,而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'
答案 1 :(得分:0)
选项1(不推荐):
首先使用re.search
(import re
):
In [1099]: re.search(r'.*/(.*)$', text).group(1)
Out[1099]: 'KF0_IFN_HLA_11.csv'
模式是
r'.*/(.*)$'
它在最后一个正斜杠之后提取该位。
选项2(推荐):
首先使用os.path.split
或os.path.basename
(import 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
会自动返回尾部。