2013-04-29 87 views
0

我有一些代碼,查找網絡腳本文件如:的ifcfg-eth0的等的代碼目前使用在Augeas可用的匹配功能以獲得在該目錄,例如所有文件:匹配特定的文件名

augeas.match("/files/etc/sysconfig/network-scripts/*") 

但是這段代碼是匹配ifcfg-eth0.bak這樣的文件,它不是我需要的有效文件。我只想匹配從eth0到eth7的網絡腳本(並且沒有備份文件等)。什麼是僅匹配正確文件的好方法?

+0

這取決於什麼是你需要一個有效的文件。 – 2013-04-29 22:55:18

回答

0

如果你確定你不想要任何有擴展名的文件,你可以試試這個。

augeas.match( '等/ SYSCONFIG /網絡的腳本/ * [正則表達式( 「[\ W-]」)]')

Editied到如下所述添加引號。

+0

由於匹配函數只需要1個字符串參數,這是行不通的。你認爲這可以通過某種方式進行修改以達到參數要求嗎? – KT100 2013-04-29 23:05:49

+0

不,有什麼不起作用的是它缺少括號中的引號。其餘的似乎很好。 – 2013-04-30 06:59:44

0

我可以使用下面的代碼,以滿足我的要求:

files = [] 
for i in range(8): 
    try: 
     filename = augeas.match('/files/etc/sysconfig/network-scripts/ifcfg-eth' + str(i))[0] 
     files.append(filename) 
    except: 
     continue 

print files