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

如何在Python代码内实现输出内容追加到文件?

在Python代码内部实现打印输出追加到文件

这里提供几种实用的方法,替代终端python3 test.py >> file.txt的追加效果:

方法1:全局重定向标准输出

这种方法不需要修改原有print语句,直接把所有控制台输出重定向到文件,同时能随时恢复原输出流:

import sys
import http.client

# 保存原始标准输出,用于后续恢复
original_stdout = sys.stdout

try:
    # 以追加模式('a')打开目标文件
    with open('file.txt', 'a') as output_file:
        sys.stdout = output_file
        # 原有http请求与打印逻辑保持不变
        conn = http.client.HTTPConnection("example.com")
        conn.request("GET", "/")
        response = conn.getresponse()
        print(response.read().decode())
finally:
    # 恢复标准输出,保证后续print能正常输出到控制台
    sys.stdout = original_stdout

方法2:给print函数指定file参数

如果只想把特定的打印内容追加到文件,直接在print里指定file参数即可,灵活度更高:

import http.client

# 以追加模式打开文件,with语句会自动关闭文件
with open('file.txt', 'a') as output_file:
    conn = http.client.HTTPConnection("example.com")
    conn.request("GET", "/")
    response = conn.getresponse()
    data = response.read().decode()
    
    # 仅将内容追加到文件
    print(data, file=output_file)
    # 如果需要同时输出到控制台,再单独调用一次print
    # print(data)

方法3:自定义兼顾控制台与文件的打印函数

如果需要同时把内容输出到控制台和文件,可以封装一个自定义函数:

import http.client

def print_and_append(content, file_path='file.txt'):
    # 输出到控制台
    print(content)
    # 追加到目标文件
    with open(file_path, 'a') as f:
        print(content, file=f)

# 使用自定义函数处理请求结果
conn = http.client.HTTPConnection("example.com")
conn.request("GET", "/")
response = conn.getresponse()
data = response.read().decode()
print_and_append(data)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 05:00:54