搜索字符串数组中的特定子字符串

时间:2016-11-24 10:58:44

标签: python

我是python的新手,所以我无法理解如何解决我的任务:(

我有一个简单的代码,用于扫描文件夹和子文件夹中的文件,并将其名称放在一个数组中。

import os

files = []
folders = []
for (path, dirnames, filenames) in os.walk('Folder'):
    folders.extend(os.path.join(path, name) for name in dirnames)
    files.extend(os.path.join(path, name) for name in filenames)
files.sort()
folders.sort()
print (files)
print (folders)

在这些文件夹中会有很多文件基本上只有一种命名模式,例如:

SMTH-SMTH.SMTH.ver1.ext
SMTH-SMTH.SMTH.ver2.ext
SMTH-SMTH.SMTH.ver3.ext

我需要以某种方式扫描这个数组并在那些文件中选择具有最大 ver。数字的文件,然后将结果放在另一个数组中,很少我尝试但是我失败了。提前谢谢!

1 个答案:

答案 0 :(得分:0)

在您的情况下,更好的解决方案是使用fnmatch模块。请谷歌

https://docs.python.org/2/library/fnmatch.html

匹配时可以做些什么 - >使用re模块https://docs.python.org/2/library/re.html

如果您在显示扫描部分后可以访问每个file_name,那么就可以更容易地对这些文件进行匹配。

此外,如果您的文件位于for C:// Folder_Name / Folder / file_name,则可以使用os模块仅获取os.path.basename(文件)的文件名