You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将最新结果写入CheckFoldersResult.txt头部 而非追加到文件末尾

实现结果文件最新内容写入开头的操作方案

现有已实现的代码逻辑:

  • 访问约20台服务器,服务器配置信息存储在CheckFolders.ini文件中
  • 拉取各服务器的存储容量、文件总数、文件夹总数三类信息
  • 运行结果默认写入CheckFoldersResult.txt文件

核心实现思路

操作系统没有直接在文件头部插入内容的原生接口,标准实现逻辑如下:

  1. 先判断结果文件是否存在,若存在则读取文件内的全部旧内容
  2. 将新生成的运行结果拼接在旧内容的最前面
  3. 把拼接后的完整内容覆盖写入原结果文件即可

常见场景代码示例

Python版本

import os

# 替换为你的脚本实际生成的最新运行结果字符串
new_run_result = "2024-xx-xx 运行结果:\n服务器1:容量100G,文件数1200,文件夹数150\n..."
result_file_path = "CheckFoldersResult.txt"

old_content = ""
if os.path.exists(result_file_path):
    with open(result_file_path, "r", encoding="utf-8") as f:
        old_content = f.read()

# 新内容拼接在前
full_content = new_run_result + "\n" + old_content

# 覆盖写入原文件
with open(result_file_path, "w", encoding="utf-8") as f:
    f.write(full_content)

Shell版本

# 替换为你实际生成的最新运行结果
NEW_RESULT="2024-xx-xx 运行结果:
服务器1:容量100G,文件数1200,文件夹数150
..."
RESULT_FILE="CheckFoldersResult.txt"

# 拼接新旧内容后覆盖写入
echo -e "${NEW_RESULT}\n$(cat ${RESULT_FILE} 2>/dev/null)" > ${RESULT_FILE}

注意事项

  • 如果结果文件体积超过1G,不建议用上述方法,会占用过多内存,可改为每次生成新结果写入以时间戳命名的独立文件,查询时按文件名倒序获取最新内容即可
  • 写入文件时建议指定编码格式,避免跨系统运行时出现乱码问题

内容的提问来源于stack exchange,提问作者Sumit Vishnoi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 03:18:02