#python在文件夹中搜索文件名中包含某些关键词的文件并将搜索结果复制到指定文件夹

要在文件夹中搜索文件名中包含给定的一些关键词的文件,并将搜索结果复制到指定文件夹,可以使用Python内置的glob模块来查找满足条件的文件,然后再使用shutil模块来复制文件,在搜索过程中将未找到的关键词打印出来,可以在代码中添加一个列表来记录未找到的关键词,在完成搜索后,遍历该列表并打印出来。关于读取Excel文件,可以使用pandas库来实现。下面是一个示例代码:

import os
import glob
import shutil
import pandas as pd

# 设置输入文件夹和输出文件夹路径
input_folder = 'input_folder'
output_folder = 'output_folder'

# 设置包含关键词的 Excel 文件路径和列名称
keyword_file = 'keywords.xlsx'
keyword_column = 'Keyword_Column'

# 读取包含关键词的 Excel 文件
keywords_data = pd.read_excel(keyword_file)

# 获取所有符合条件的文件
files_to_copy = []
keywords_not_found = []

for keyword in keywords_data[keyword_column]:
    file_matches = glob.glob(os.path.join(input_folder, f'*{keyword}*.xlsx'))
    if file_matches:
        files_to_copy += file_matches
    else:
        keywords_not_found.append(keyword)

# 将文件复制到输出文件夹
for file in files_to_copy:
    output_path = os.path.join(output_folder, os.path.basename(file))
    shutil.copy(file, output_path)

# 打印未找到的关键词
print("以下关键词未找到匹配文件:")
for keyword in keywords_not_found:
    print(keyword)

请确保已经设置正确的输入文件夹路径(input_folder)、输出文件夹路径(output_folder)、包含关键词的 Excel 文件路径(keyword_file)以及关键词列的名称(keyword_column)。

这段代码将逐个读取包含关键字的 Excel 文件,并使用glob模块查找文件名中包含关键词的文件。找到符合条件的文件后,将会将该文件复制到指定的输出文件夹。

添加了一个名为 keywords_not_found 的列表,用于记录未找到的关键词。如果对应关键词的文件未找到,将关键词添加到该列表中。最后,使用一个循环遍历 keywords_not_found 列表并打印出未找到的关键词。

  • 17
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 可以使用Python的os模块来读取文件夹文件名,然后使用open()函数将文件名写入md文件。接下来,使用<a>标签将文件名链接到本地视频文件即可。 示例代码如下: ```python import os # 读取文件夹文件名 folder = '/path/to/folder' filenames = os.listdir(folder) # 将文件名写入md文件 with open('file.md', 'w') as f: for filename in filenames: f.write(f'<a href="{folder}/{filename}">{filename}</a>\n') ``` 使用相应的播放器打开本地文件即可。 ### 回答2: 在Python,我们可以使用`os`库来读取文件夹文件名,并使用`markdown`库将文件名存储到md文件。接下来,我们可以通过使用`webbrowser`库在默认播放器打开本地视频文件。 首先,我们需要导入所需的库: ```python import os from markdown import markdown import webbrowser ``` 然后,我们可以定义一个函数来读取文件夹文件名并将其写入md文件: ```python def write_file_names(folder_path, output_file): file_names = os.listdir(folder_path) md_content = "\n".join([f"- [{name}](file://{os.path.join(folder_path, name)})" for name in file_names]) with open(output_file, "w") as f: f.write(markdown(md_content)) ``` 在上面的函数,我们首先使用`os.listdir()`获取文件夹文件名列表。然后,我们使用列表推导式生成md文件的内容,其每个文件名都将被转换为md链接。最后,我们将md内容写入输出文件。 接下来,我们可以定义一个函数来在默认播放器打开本地视频文件: ```python def open_video(file_path): webbrowser.open(file_path) ``` 最后,我们可以将这两个函数结合起来: ```python folder_path = "文件夹路径" output_file = "output.md" write_file_names(folder_path, output_file) md_file_path = os.path.abspath(output_file) open_video(md_file_path) ``` 你可以将`folder_path`替换为你想要读取文件名文件夹的路径,将`output_file`替换为你想要生成的md文件的路径。运行上述代码后,它将在默认播放器打开生成的md文件,你可以通过点击链接来访问本地视频文件。 ### 回答3: 在Python,我们可以使用`os`模块来读取文件夹文件名,并使用`os.path`模块来获取文件的绝对路径。然后,我们可以将文件名和链接写入Markdown文件,以便在播放器打开本地视频文件。 下面是一个实现这个功能的示例代码: ```python import os # 要读取的文件夹路径 folder_path = '/path/to/folder' # 创建Markdown文件 md_file = open('video_files.md', 'w') # 遍历文件夹的所有文件 for filename in os.listdir(folder_path): # 获取文件的绝对路径 file_path = os.path.join(folder_path, filename) # 将文件名和链接写入Markdown文件 md_file.write(f'- [{filename}]({file_path})\n') # 关闭Markdown文件 md_file.close() ``` 请将代码的`/path/to/folder`替换为你要读取的文件夹的实际路径。然后运行代码,它将在当前目录下创建一个名为`video_files.md`的Markdown文件。打开该文件,你将看到文件夹的所有文件名,并且每个文件名都是一个链接,可以在播放器直接打开对应的本地视频文件。 注意:为了能够在播放器打开本地视频文件,你需要确保播放器支持在Markdown文件的链接打开本地文件
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值