带有参数列表的Python RE grep

时间:2019-02-27 22:19:03

标签: python list grep arguments

我想在python中使用grep搜索匹配行,要搜索的参数将由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函数。

0 个答案:

没有答案