python - 将目录中的文件名与 Pandas 系列匹配,删除不匹配的文件
问题描述
我在 Python 2.7 上。
我在一个目录中有一堆文件(基本上是 Outlook 电子邮件)。示例文件名:
RE: We have Apple.msg
RE: Orange are in stock.msg
RE: Pick up some cabbage please.msg
我有熊猫系列
Granny Smith Apple
High Quality Orange
Delicious soup
如何遍历目录,找到包含熊猫系列单词的文件名,并删除找不到匹配项的文件?在上面的示例中,RE: Pick up some cabbage please.msg
将被删除,就像在 Pandas 系列中发现的那样Apple
。Orange
编辑:我想实际删除目录中找不到匹配项的文件
解决方案
可以使用os
and listdir
,然后str.contains
from os import listdir
from os.path import isfile, join
m = '/' # your path
files_in_directory = [f for f in listdir(m) if isfile(join(m, f))]
files = pd.Series(files_in_directory)
s = pd.Series(["Granny Smith Apple",
"High Quality Orange",
"Delicious soup"])
z = pd.Series(s.str.split().sum())
files.str.contains('|'.join(z))
推荐阅读
- jquery - jQuery:如何加载外部页面片段,包括其事件?
- regex - perl 正则表达式,删除捕获的内容
- perl - 在 Mac 上使用 Perl 和 Ttk 闪烁 GUI 按钮
- amazon-web-services - AWS Elasticsearch Service - 如何使用 AWS Cognito 对 ES 端点进行身份验证?
- node.js - Saxon-js 是否对 xsl:param 执行 XML 语法检查?
- amazon-web-services - 使用 AWS Lambda 控制台使用 SNS 发送推送
- mysql - 使用 pip 将 mysqlclient 安装到 MacOS Bigsur 时出错
- google-chrome-extension - chrome.tabs.query 事件未触发
- css - 我的网格在纸质材料 UI 中的底部位置不起作用
- ruby-on-rails - 无法使用 react ruby on rails 注册用户并设计 gem