Как реализовать функцию, которая принимает путь к файлу в качестве аргумента и отображает список текстов на основе строки запроса в python? - PullRequest
1 голос
/ 23 марта 2020

Я пытаюсь отобразить список текстов, которые находятся в пути к файлу, если он содержит строку запроса в функции.

Я сделал функцию str_search(), которая принимает 3 аргумента: filepath, query, caseSensitivity

пока что это то, что я могу собрать:

def str_search(filepath, query, caseSensitivity = False):
    list = []
    file = open(filepath, "r")
    f1 = file.readlines()

    print(f1)

Вот некоторые результаты, которые я хочу показать:

str_search('/filepath, 'Data')


    ['[Subtitle: An Essay on the Immediate Data of Consciousness]',
     "On Mr. Spencer's Data of Ethics, by Malcolm Guthrie                    "
     "  56721",
     'The Oak Ridge ALGOL Compiler for the Control Data Corporation 1604,    '
     '  50468',
     'The Data of Ethics, by Herbert Spencer                                 '
     '  46129',
     'On-Line Data-Acquisition Systems in Nuclear Physics, 1969,             '
     '  42613']
)

str_search('/filepath', 'Data', False)

    ['It is not a database, but it is useful for identifying eBooks so that',
     'ONLINE DATABASE',
     'The online database can be accessed at',
     '[Subtitle: An Essay on the Immediate Data of Consciousness]',
     "On Mr. Spencer's Data of Ethics, by Malcolm Guthrie                    "
     "  56721"]
)

1 Ответ

1 голос
/ 23 марта 2020

Попробуйте это:

def str_search(filepath, query, caseSensitivity = False):
    matching_lines = list ()
    with open(filepath, "r") as f:
        lines = file.readlines()
        for line in lines:
            if not caseSensitivity:
                line = line.lower()
                query = query.lower()
            if query in line:
                matching_lines.append(line)
    return matching_lines
...