【问题标题】:Log File Parsing Python 5 2.7日志文件解析 Python 5 2.7
【发布时间】:2017-06-25 02:09:42
【问题描述】:

我搜索了大约 35 个不同的问题,试图解决我的问题。我正在尝试在文本文件中搜索单词(或字符串)并将该单词(或字符串)的行写入另一个文件。 这就是我所拥有的,在寻找解决方案的过程中我已经改变了好几次。目前,它不会写入新文件,它会创建新文件,并且不会打印找到单词(字符串)的行它只是打印 () 用于 infile 中的行数

x = "mama"
with open("testing.txt") as search:
     for line in search:
         line = line.rstrip()
         print()



import os

infile= 'testing.txt'
outfile= '618.txt'

source= open(infile, 'r')
target = open(outfile, 'w')
flag = 'mama'

for line in source.readlines():  #read all of the source lines into a list and iterate over
    if ('mama' in line):
        target.write(line)
        print line

它正在搜索的文本文件是波西米亚狂想曲的歌词。我试图让它工作,以便我可以在日志文件上使用它来查找像“flag”这样的字符串并将它们打印到一个新文件中。

【问题讨论】:

    标签: python parsing logging


    【解决方案1】:

    不要一次打开 2 个文件。

    text = []
    flag = 'mama'
    with open(infile, "r") as readFile:
        for line in readFile.readlines()
            if flag in line:
                text.append(line)
    
    with open(outflow, "w") as writeFile:
        for line in text:
            writeFile.write(line)
    

    在这里,我打开第一个文件,并且对于文件中的每一行,如果“妈妈”在该行中,我将该行附加到我的列表文本中。 然后我打开第二个文件,并在文件中写入列表文本的每一行。

    【讨论】:

    • 这不是答案。应该明确知道答案以解决问题。建议尝试或要求进一步澄清需要在 cmets 中完成。
    • @stevieb 好的,对不起,我对堆栈溢出很陌生
    • 不用担心。你应该通读help中的所有项目@
    • 好点了吗?
    • 您要做的不仅仅是写入文件,还要确保捕获并写入 OP 想要的匹配项。我们根本不知道写入是否被触发。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-09
    相关资源
    最近更新 更多