Python RE grep со списком аргументов - PullRequest
0 голосов
/ 28 февраля 2019

Я хочу использовать grep в python для поиска строки совпадения, аргумент для поиска будет передан парсером Argument.Пример:

#!/usr/bin/env python
import argparse,sys,re
parser = argparse.ArgumentParser()
parser.add_argument('-e', dest='ArgumentList', action='append', default= [], help='List of arguments to be searched on the lists.', required=True)
parser.add_argument('-o', dest='OutputFile', action='store', default="", help='Save the search result to a file.')
args = parser.parse_args()

А затем я создаю функцию для поиска параметра в файле.

def Grep():
    try:
            if args.OutputFile != "":
                with open(args.OutputFile,"w") as Out:
                    for line in File:
                        OutputLine = re.findall(ARGS, line)
                        print ("[*]A match was found: " + OutputLine)
                        Out.write(print(OutputLine))
                Out.close()

            elif args.OutputFile == "":
                    for line in File:
                        OutputLine = re.findall(ARGS, line)
                        print ("[*]A match was found: " + OutputLine)
            else: 
                print('[*]Error: An error ocurred. Check Ozint usage "Script.py -h" to more')
                sys.exit(0)

Переменная File - это файл, который нужно открыть.Переменная ARGS теперь просто для заполнения поля.Потому что здесь проблема.

Параметры для поиска будут сохранены в списке.Пример:

script.py -e a -e b
args.Argumentlist = ['a', 'b']

, но я хочу найти более одного аргумента без повторного запуска функции Grep (), и я не знаю, как изменить функцию для поиска множества аргументов за один прогон (например,Grep).Я использую библиотеку RE, кстати.И я открыт для новой версии функции grep, если есть кто-то, кто работает лучше, чем «мой».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...