我在一個文件夾中有文本文件,我需要遍歷并使用 python 提取數據。要獲取我使用 glob.glob() 的所有路徑名,除了我需要排除任何名稱中包含“ER”的文件。環顧四周后,我發現了 [!_] 命令,但是它不起作用。下面是我仍然返回“ER”文件的確切代碼。files = glob.glob('*[!ER]*.txt')
2 回答

30秒到達戰場
TA貢獻1828條經驗 獲得超6個贊
那些你有你的文件列表的人,你可以使用列表理解來過濾和刪除任何包含“ER”的文件。
files = [f for f in files if 'ER' not in f]

慕絲7291255
TA貢獻1859條經驗 獲得超6個贊
還有其他庫可以進行排除。例如wcmatch(完全公開,我是它的作者)允許您使用排除模式(通過標志啟用時)。排除模式與普通模式一起給出,它將過濾返回的文件列表:
from wcmatch import glob
glob.glob(['*.txt', '!*ER*.txt'], flags=glob.N)
這是一個真實世界的例子:
from wcmatch import glob
>>> glob.glob(['*.md'], flags=glob.N)
['LICENSE.md', 'README.md']
>>> glob.glob(['*.md', '!*EA*.md'], flags=glob.N)
['LICENSE.md']
添加回答
舉報
0/150
提交
取消