whileループの各繰り返しの出力をキャプチャするログファイルを作成しようとしていますが、最後から2番目の行をキャプチャしてその下に空白の新しい行を作成できるように見えます。Python - whileループを繰り返し実行するために、テキストファイルに新しい行を書く方法はありますか?
私はこのコードを持っている:
from glob import glob
import task_prep
import time
import datetime
path = glob('F:\\Transcoder\\staging\\prep\\*.xml')
while len(path) >= 0:
log = open('log_file.txt', 'w')
if int(len(path)):
data = (str(datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S")) + ': files')
print(data)
log.write(data + '\n')
task_prep.task_prep()
path = glob('F:\\Transcoder\\staging\\prep\\*.xml')
time.sleep(3)
else:
data = (str(datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S")) + ': no files')
print(data)
log.write(data + '\n')
path = glob('F:\\Transcoder\\staging\\prep\\*.xml')
time.sleep(3)
これは単に最初の行に書かれていますすべてのものを上書きすることであるが、しかし、これは印刷する内容である:
2016-12-06 10:25:56: no files
2016-12-06 10:25:59: no files
2016-12-06 10:26:02: no files
2016-12-06 10:26:05: no files
2016-12-06 10:26:08: no files
2016-12-06 10:26:11: no files
2016-12-06 10:26:14: no files
2016-12-06 10:26:17: no files
2016-12-06 10:26:20: no files
2016-12-06 10:26:23: no files
2016-12-06 10:26:26: no files
Process finished with exit code 1
これはで書き込まれますものですテキストファイル:
2016-12-06 10:26:23: no files
1行目の文字列と1行目の改行。
私は間違っていますか?
ログに印刷している場合は、 ''a ''で開きたいので、出力を追加します。 – Iluvatar