2016-11-24 133 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

隨時歡迎:-)希望我能幫助一下:-)祝你有美好的一天。 –