列表中排除一個子我有一個列表phplist
包含下列字符串(下面的例子),也有更多的人,這是整個列表的片段試圖在python
/home/comradec/public_html/moodle/config.php
/home/comradec/public_html/moodle/cache/classes/config.php
/home/comradec/public_html/moodle/theme/sky_high/config.php
/home/comradec/public_html/moodle/theme/brick/config.php
/home/comradec/public_html/moodle/theme/serenity/config.php
/home/comradec/public_html/moodle/theme/binarius/config.php
/home/comradec/public_html/moodle/theme/anomaly/config.php
/home/comradec/public_html/moodle/theme/standard/config.php
我是什麼試圖做的只是保留subdir/config.php
文件並排除所有其他config.php
文件(例如cache/classes/config.php)。
的完整代碼
for folder, subs, files in os.walk(path):
for filename in files:
if filename.endswith('.php'):
phplist.append(abspath(join(folder, filename)))
for i in phplist:
if i.endswith("/config.php"):
cmsconfig.append(i)
if i.endswith("/mdeploy.php"):
cmslist.append(cms1[18])
所以結果只會增加/config.php
文件路徑列表cmsconfig
,但所發生的事情,我讓所有的config.php
文件作爲頂級例如
我一直使用is not i.endswith("/theme/brick/config.php")
這樣的代碼,但我想從列表中排除主題目錄。
我將輸出放入列表的原因是我在代碼的另一個區域使用該輸出。
我在這裏嗅到[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。 –
(moodle)的圓括號是否意味着任何子目錄? – svenhornberg
我的新答案能解決您的任務嗎? – svenhornberg