python实现 遍历指定文件夹内所有文件,文件名作为字符串,查看是否在指定文本中,若在,则复制文件到另一指定文件夹中

【场景】:

本文是通过输入 “

python实现 遍历指定文件夹内所有文件,文件名作为字符串,查看是否在指定文本中,若在,则复制文件到另一指定文件夹中

” 

通过百度搜索(百度自带的AI),将3份结果进行简单的融合后得到的准确答案:

【目标】:选出在用的文件,便于把多余的文件移除。

【效果】:将 处理前 uploaded_files 中 文件共 438个,筛出 83个 在 new_file_name.txt (new_file_name.sql 进行重命名 改成的 )。也就是说,可以将 355个文件移除了。

【代码实现】:

 1 """
 2 python实现 遍历指定文件夹内所有文件,文件名作为字符串,查看是否在指定文本中,若在,则复制文件到另一指定文件夹中
 3 """
 4 
 5 import os
 6 
 7 
 8 def search_file_names_in_text(folder_path, target_folder, text_file_path):
 9     """
10     搜索指定文件夹内所有文件的文件名,并检查它们是否出现在指定的文本文件中。
11     :param folder_path: 文件夹路径
12     :param text_file_path: 文本文件路径
13     :return: 返回在文本文件中找到的文件名列表
14     """
15     # 存储在文本文件中找到的文件名
16     found_names = set()
17 
18     # 确保文本文件存在
19     if not os.path.isfile(text_file_path):
20         raise ValueError(f"Text file {text_file_path} does not exist.")
21 
22     # 打开文本文件
23     with open(text_file_path, 'r', encoding='UTF-8', errors='ignore') as text_file:
24         text_data = text_file.read()
25 
26     # 遍历文件夹内的所有文件
27     for filename in os.listdir(folder_path):
28         file_path = os.path.join(folder_path, filename)
29         if os.path.isfile(file_path):  # 确保是文件而非文件夹
30             if filename in text_data:  # 检查文件名是否在文本中
31                 found_names.add(filename)
32                 source_path = os.path.join(source_folder, filename)
33                 target_path = os.path.join(target_folder, filename)
34                 os.rename(source_path, target_path)
35 
36     return found_names
37 
38 
39 
40 # 设置源文件夹和目标文件夹路径
41 source_folder = 'C:\\var\\uploaded_files'
42 target_folder = 'C:\\var\\new_file_src'
43 
44 # 设置包含文件名的文本文件路径
45 filename_list_file = 'C:\\var\\new_file_name.txt'
46 
47 
48 # 使用示例
49 # folder_path = '/path/to/folder'
50 # text_file_path = '/path/to/textfile.txt'
51 found_names = search_file_names_in_text(source_folder, target_folder, filename_list_file)
52 print(f"Found names: {found_names}")

 

【总结】:充分运用 AI 帮忙处理。选用 Python 语音,快速实现!

 

posted @ 2024-07-05 04:08  BGStone  阅读(26)  评论(0编辑  收藏  举报