Python读取日志文件并获取包含特定单词的行

Python读取日志文件并获取包含特定单词的行,python,Python,我有日志文件(以YYMMDD格式命名),我想创建一个脚本,只从文件中获取重要信息(如包含“O:NVS:VOICE”的行)。我以前从未使用过Python,请帮助我 您需要知道如何、和 这里有一些代码让你开始 with open("log.log" 'r') as f: for line in f: if "O:NVS:VOICE" in line: print line 这会让你很好地开始: infile = r"D:\Documents and

我有日志文件(以YYMMDD格式命名),我想创建一个脚本,只从文件中获取重要信息(如包含“O:NVS:VOICE”的行)。我以前从未使用过Python,请帮助我

您需要知道如何、和

这里有一些代码让你开始

with open("log.log" 'r') as f:
    for line in f:
        if "O:NVS:VOICE" in line:
            print line

这会让你很好地开始:

infile = r"D:\Documents and Settings\xxxx\Desktop\test_log.txt"

important = []
keep_phrases = ["test",
              "important",
              "keep me"]

with open(infile) as f:
    f = f.readlines()

for line in f:
    for phrase in keep_phrases:
        if phrase in line:
            important.append(line)
            break

print(important)
它绝对不是完美的,例如,没有异常处理或模式匹配,但是您可以非常轻松地将它们添加到它中。研究正则表达式,这可能比短语匹配更好。如果您的文件很大,请逐行阅读以避免出现内存错误

输入文件:

This line is super important!
don't need this one...
keep me!
bla bla
not bothered
ALWAYS include this test line
输出:

['This line is super important!\n', 'keep me!\n', 'ALWAYS include this test line']

注意:这是Python3.3。

我们需要了解您已经尝试过的内容以及遇到的问题。打开文件需要帮助吗?解析那里的数据?打印/写出您感兴趣的信息?事实上,我刚刚用python开始了我的项目,所以我还在考虑解决方案,我想从有经验的人那里得到一些想法。。该脚本的目的是从服务器每天生成的日志文件中获取类似的特定单词,然后将它们放入mysql数据库中,因此我不知道如何获取这些行,因为它们很多,而且是每天创建的..通过在file对象上循环,可以避免大文件的问题,而不是调用readlines。只需使用将f中的
for行移动到
中,然后去掉
f.readlines()