以下示例的功能是每次执行代码,都将当前时间写入到文件的头部
核心代码
with open(filename, "r+") as f:
old = f.read()
f.seek(0)
f.write(content)
f.write(old)
代码示例
# -*- coding: utf-8 -*-
"""
@File : demo.py
@Date : 2023-07-14
"""
import os
from datetime import datetime
def write_to_file_head(filename, content):
"""
将内容写入到文件头部
:param filename: 文件名,不存在会创建
:param content: 写入的内容
:return:
"""
# 如果不存在,会报错:
# IOError: [Errno 2] No such file or directory
if os.path.exists(filename):
with open(filename, "r+") as f:
old = f.read()
f.seek(0)
f.write(content)
f.write(old)
else:
with open(filename, "w") as f:
f.write(content)
def main():
filename = 'demo.txt'
data = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
write_to_file_head(filename, data + os.linesep)
if __name__ == '__main__':
main()
可以看到,输出的文件内容每次都是从头部写入的
demo.txt
2023-07-14 14:02:11
2023-07-14 14:02:10
2023-07-14 14:02:09
2023-07-14 14:02:08
2023-07-14 14:02:06
2023-07-14 14:02:05
2023-07-14 14:02:04
2023-07-14 14:02:00