【问题标题】:Merging log data in python在python中合并日志数据
【发布时间】:2017-12-05 01:59:44
【问题描述】:

我在 7 个单独的文件中有日志数据,我需要将它们合并到一个文件中,然后才能对其进行任何页面分析。下面我提供了一个日志数据文件中的一行示例

207.46.13.124 - - [01/Jun/2015:00:00:04 +0000] "GET /maritime/collections/hmsconway/hiscock/index.aspx HTTP/1.0" 200 "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"

文件名是u_ex150601u_ex150602u_ex150603u_ex1506014u_ex150605u_ex150606u_ex150607

如何仅使用 Python 将所有这些合并在一起?

【问题讨论】:

    标签: python


    【解决方案1】:

    我个人建议使用 bash。类似的,

    cat u_ex15* >> all_logs
    

    但在 python 中,你可以简单地使用以下内容:

    import glob
    all_log_filename = 'all_logs'
    log_files = glob.glob('u_ex15*')
    for filename in log_files:
        with open(filename) as reader:
            with open(all_log_filename, 'a') as writer:
                 writer.write(reader.read())
    

    注意:这是最简单的情况,您的日志文件不是那么大。如果您的日志文件很大,您可能希望遍历每一行或每一块,以免遇到内存问题。您可以做的最简单的事情是:

    for filename in log_files:
        with open(filename) as reader:
            with open(all_log_filename, 'a') as writer:
                for line in reader:
                    writer.write(line)
    

    【讨论】:

      猜你喜欢
      • 2011-10-02
      • 2016-06-24
      • 1970-01-01
      • 1970-01-01
      • 2021-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多