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

Python如何创建output.dat文件并将代码结果写入而非输出到终端

实现方案

该需求完全可以实现,只需调整输出逻辑,将原本打印到终端的内容写入output.dat文件即可,修改后的代码和调整说明如下:

from random import randint
import os

b = {}
for i in range(1000000):
    num = randint(1, 50)
    if num not in b:
        b[num] = 0
    b[num] += 1

# 打开output.dat文件,写入结果
with open("output.dat", "w", encoding="utf-8") as f:
    for i in range(1, 51):
        # 指定print的输出目标为打开的文件对象f
        print(f"Number {i}, {b[i]}", file=f)

调整说明

  • 移除了冗余代码:原代码中100万次循环内的print("")会生成大量无意义空行,若你确实需要保留这些空行,可以把这行代码也移入with代码块内,加上file=f参数即可。
  • 用with上下文管理器打开文件:这种写法会在内容写入完成后自动关闭文件,不需要手动调用f.close(),避免出现文件资源占用的问题。
  • 最小改动适配需求:仅在原有print方法中新增file参数指定输出目标为打开的文件,不需要修改原有字符串拼接逻辑,示例中用到的f-string格式化写法和你原来的字符串拼接效果完全一致,也可以保留你原有的写法。
  • 如果你需要同时在终端看到输出也写入文件,只需要保留原有print语句,同时新增一行写入文件的逻辑即可:
# 同时输出到终端和写入文件示例
content = f"Number {i}, {b[i]}"
print(content)
print(content, file=f)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 09:27:01