我正在尝试编写一个函数来搜索一个非常长的文件路径列表,以字符串形式给出。我希望能够根据它们所在的子目录来组织它们,最后我希望打印文件的名称和子目录。例如,其中一个字符串可能如下所示:
file_name = "\\StringA\\StringB\\StringC\\Name.cpp"
其中StringA
、StringB
和StringC
是子驱动器,Name.cpp
是文件名
现在对于函数,如果不专门搜索字符串(如下面所示),我将如何执行此操作?我不希望它是这样的,因为有很多选项(~200),如果没有必要,我不想添加200个if语句。谢谢大家!
def get_location(file_name):
if "StringA" in file_name:
if "StringB" in file_name:
if "StringC" in file_name:
name = file_name.replace("\\StringA\\StringB\\StringC\\", "")
dirA = "StringA"
dirB = "StringB"
dirC = "StringC"
return [dirA, dirB, dirC, name]
这听起来像是一个问题,您希望使用正则表达式[0]匹配
Name.cpp
之前字符串中的所有内容,然后对该标记集进行操作。找到匹配项后,可以使用os.path
将文件路径分解为其组成目录[0]https://docs.python.org/3/library/re.html
为什么不在分割文件路径时使用for循环呢
输出:
['', 'StringA', 'StringB', 'StringC', 'Name.cpp']
相关问题 更多 >
编程相关推荐