|  | 
 
 发表于 2023-7-20 15:56:48
|
显示全部楼层 
| 要实现一直搜索,直到没有找到关键字,你可以在 `search_keywords_in_html` 函数中添加一个循环来遍历所有文件。当找到关键字后,可以设置一个标志来指示是否继续搜索。 
 以下是修改后的代码示例:
 
 ```python
 import os
 
 def search_keywords_in_html(directory, keyword):
 files = os.listdir(directory)
 found_keyword = False  # 标志变量,指示是否找到关键字
 
 for file in files:
 if file.endswith('.html'):
 file_path = os.path.join(directory, file)
 with open(file_path, 'r', encoding='UTF-8') as f:
 content = f.read()
 if keyword in content:
 keyword_index = content.index(keyword)
 start_index = max(0, keyword_index - 10)
 end_index = min(len(content), keyword_index + len(keyword) + 10)
 context = content[start_index:end_index]
 print(f"Found '{keyword}' in {file}. Context: {context}")
 found_keyword = True  # 设置标志为 True,表示找到关键字
 
 if not found_keyword:  # 如果没有找到关键字,则继续搜索子目录
 subdirectories = [os.path.join(directory, subdirectory) for subdirectory in os.listdir(directory) if os.path.isdir(os.path.join(directory, subdirectory))]
 for subdirectory in subdirectories:
 search_keywords_in_html(subdirectory, keyword)
 
 # 指定要搜索的目录和关键字
 directory = 'f:\\'
 keyword = input('请输入要查询的内容:')
 
 search_keywords_in_html(directory, keyword)
 ```
 
 在这个修改后的代码中,我们添加了一个标志变量 `found_keyword`,用于指示是否找到了关键字。如果在当前目录下没有找到关键字,那么我们会继续搜索子目录。这样就实现了一直搜索,直到没有找到关键字的功能。
 
 希望这能解决你的问题!如果还有其他疑问,请随时提问。
 求给个最佳答案呗
  
 此回答源于ChatGPT,若有不正确之处,请多包容
 | 
 |