代码之家  ›  专栏  ›  技术社区  ›  nobodyAskedYouPatrice

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

  •  0
  • nobodyAskedYouPatrice  · 技术社区  · 7 年前

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

    我如何使用正则表达式来获得 "KF0_IFN_HLA_11.csv"

    我是Python的初学者,我正在寻找一些关于如何解决上述问题的提示。

    2 回复  |  直到 7 年前
        1
  •  3
  •   Cory Kramer    7 年前

    我不会用正则表达式来做这个,而是 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'
    
        2
  •  0
  •   cs95 abhishek58g    7 年前

    选项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

    自动返回尾部。