-1

ログファイルからいくつかの行(レコード)を取得しましたが、その中に関数を記述して、それらの行を保存する現在の日付が名前に含まれる新しいログファイルを作成する方法がわかりませんでした。私は新しい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
4

2 に答える 2

1

印刷出力をファイルにリダイレクトできます。

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

print>>log_file, 'hello'

log_file.close()
于 2012-09-11T04:11:43.187 に答える
1

あなたのループの外

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

ここでループを実行し、各行を次のように記述します

f.write(line)

行変数に改行文字がない場合は、

f.write(line +'\n')

ループを終了した後

f.close()
于 2012-09-11T04:26:55.410 に答える