2016-11-24 206 views
-1

我是初来乍到的蟒蛇阵列,所以我只是不明白怎么解决我的任务:(搜索特定的子字符串中

我有一个简单的代码,它可以扫描文件夹和子文件夹中的文件并把他们的名字在一个阵列

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 

我需要以某种方式扫描该阵列,然后选择之间这些文件是最大的版本。数字,然后只是把结果放在另一个数组中,很少有我试着失败。提前致谢 !

+0

这是一个Q&A网站。你必须提出一个好问题。 –

+0

这个问题很明显 –

+0

你能告诉我们你做了什么吗? – ettanany

回答

0

在你的情况下,更好的解决方案是使用fnmatch模块。请google一下

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

您可以在以下情况下做些什么配套 - >使用re模块https://docs.python.org/2/library/re.html

如果你有扫描部分为您显示后访问每个FILE_NAME,那么它应该是更容易在这些文件上进行匹配。

此外,如果你的文件是在为C://文件夹名/文件夹/ file_name中您可以使用os模块只得到与os.path.basename(文件)的文件名

+0

非常感谢马可,我在这里得到了基本的想法,生病的报告,我会得到什么结果!欢呼声 –

+0

随时欢迎:-)希望我能帮助一下:-)祝你有美好的一天。 –