当前位置: 首页 > 知识库问答 >
问题:

在特定关键字后的子目录中搜索

葛修筠
2023-03-14

在我的代码中,输入特定目录的路径和关键字。然后,该程序将打印您可以在哪些程序中找到单词。现在我只能在主目录中搜索,不能在子目录中搜索。还有,有没有什么方法我可以搜索多个关键字。感谢所有的帮助!

下面是代码:

import os

try:
    mapp_input = input("Enter path:")
except:
    print("Enter whole path")

mapp = os.listdir(mapp_input)

keyword = input("Enter keyword:")

for word in mapp:
    if os.path.isfile(mapp_input + os.sep + word):

        f = open(mapp_input + os.sep + word, 'r', encoding="utf-8")

        if keyword in f.read():
            print("Keyword found in:", word)

共有1个答案

谷梁翰飞
2023-03-14

如果您想自己实施一个解决方案-这应该是逻辑:

import os

valid_directory = False

while not valid_directory:
    mapp_input = input("Enter path:")
    valid_directory = os.path.exists(mapp_input) and os.path.isdir(mapp_input)
    if not valid_directory:
        print(f'Invalid directory entered: "{f}". Try again')

mapp = os.listdir(mapp_input)

keyword = input("Enter keyword:")

for word in mapp:
    file_path = os.path.join(mapp_input, word)
    if os.path.isfile(file_path):
        f = open(file_path, 'r', encoding="utf-8")
        if keyword in f.read():
            print("Keyword found in:", word)
 类似资料:
  • 我正在开发一个外壳脚本,它将在文件夹中的所有日志文件和子文件夹中搜索特定的关键字。 我正在使用下面的grep命令,但它只显示当前目录中的关键字,而不显示子目录中的关键字。在我的例子中,我有一堆子目录,其中日志文件将在那里,它不会显示子目录中的文件。 请建议我如何做到这一点。 谢谢

  • 我从特定目录下的Stackoverflow使用通配符子域获取源代码 原始代码: 它可以正常工作,但上面的代码指向根目录。我希望所有子域都指向我的“公文包”目录中的目录,所以我尝试修改自己的代码 修改后(添加"/投资组合"): 但它给了我“500-内部服务器错误”。。。为什么?有人能纠正我的密码吗? 对我的英语表示感谢和歉意。

  • 我实际上是一个新手到Java,并试图做一个小项目。所以,在我的项目中,我想让用户输入一个句子,我想让程序在句子中搜索特定的单词,并基于此给出输出。我使用NetBeans开发我的应用程序。 我的代码是这样的 我知道这段代码没有意义,也不会运行,但我这样说是为了让人们对我试图实现的目标有一个大致的了解。 请帮帮我.

  • 问题内容: 我是SQL编程的新手。 我有一个表的工作,其中字段是,,,,,,。 我想从前端实施 关键字搜索 。关键字可以位于上表的任何字段中。 这是我尝试过的查询,但包含许多重复的行: 问题答案: 对于VARCHAR字段上的单个关键字,可以使用: 对于描述,通常最好添加全文索引并进行全文搜索(仅适用于MyISAM):

  • 问题内容: 如何从Clob列获取特定的字符串? 我有以下数据,存储在名为clob的列中 我想从列中搜索字符串 我已经尝试过 上面从我的表中获取全文。 任何帮助都是非常明显的。 问候 问题答案: 就像常规InStr和SubstStr函数一样,使用dbms_lob.instr和dbms_lob.substr。 看一个简单的例子:

  • 我是计算机科学专业的二年级学生,我写了一个程序,它连接到一个IRC客户端,嗅探等待用户问“推特是关于什么的?” 该程序嗅探关键字“推特”,然后运行一个方法,使用整个输入行查找推特句柄。 问题是,如果我在编译之前知道关键字是什么,我就知道如何查找关键字,但在这种情况下,关键字可能是任何twitter句柄,所以我不确定搜索它的最佳方法是什么。 我尝试了以下方法:inputLine。子字符串(i 1,i

  • 问题内容: 如何在给定数据库的所有存储过程中全局搜索关键字? 我使用了以下内容,但无法获得预期的结果… 问候-Vas 问题答案: 看一下此链接-http: //www.sqlservercentral.com/scripts/T-SQL+Aids/31131/,看看是否有帮助。 链接文章中的SP由Prasad Bhogadi编写,内容如下: 您可以使用它在数据库中创建一个SP或使其适应一次查询。

  • 但是,这种搜索对MS word文件不起作用。 在Linux中,可以在MS word文件中进行字符串搜索吗?