我有日志文件(以YYMMDD格式命名),我想创建一个脚本,只从文件中获取重要信息(如包含"O:NVS:VOICE"的行).我之前从未使用过Python,所以请帮忙!
Gar*_*ber 17
这应该让你开始很好:
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)
Run Code Online (Sandbox Code Playgroud)
它绝不是完美的,例如没有异常处理或模式匹配,但您可以很容易地将它们添加到它中.查看正则表达式,这可能比短语匹配更好.如果您的文件非常大,请逐行阅读以避免MemoryError.
输入文件:
This line is super important!
don't need this one...
keep me!
bla bla
not bothered
ALWAYS include this test line
Run Code Online (Sandbox Code Playgroud)
输出:
['This line is super important!\n', 'keep me!\n', 'ALWAYS include this test line']
Run Code Online (Sandbox Code Playgroud)
注意:这是Python 3.3.如果使用2.7,则需要修改print语句(删除括号).
Joh*_*ohn 12
您需要知道如何循环目录中的文件,正则表达式以确保您的日志文件格式与您正在循环的文件匹配,如何打开文件,如何循环打开文件中的行,以及如何检查其中一行是否包含您要查找的内容.
这里有一些代码可以帮助您入门.
with open("log.log" 'r') as f:
for line in f:
if "O:NVS:VOICE" in line:
print line
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
57054 次 |
| 最近记录: |