Python将输出行保存到新文件中

时间:2012-09-11 04:08:07

标签: python

我从日志文件中获取了一些行(记录),但我不知道如何在其中编写函数来创建一个新的日志文件,其名称包含存储这些行的当前日期。我是新的python,所以我希望你能给我解决方案。感谢

 def OnlyRecent(line):
    if  time.strptime(line.split("[")[0].strip(),"%a %b %d %H:%M:%S %Y")> time.gmtime(time.time()-(60*60*24*7)):
        return True
    return False
  for line in f:
    if OnlyRecent(line):
       print line  //store print lines into new log file.  20120911.log

2 个答案:

答案 0 :(得分:1)

您可以将打印输出重定向到文件:

log_file = open('mylog.log', 'w')

print>>log_file, 'hello'

log_file.close()

答案 1 :(得分:1)

在你的循环之外

filename = time.strftime('%Y%m%d') + '.log'
f = open(filename, 'w')

在这里做你的循环,用

写每一行
f.write(line)

如果你的行变量中没有换行符,请执行

f.write(line +'\n')
退出循环后

f.close()