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

Python中如何将特定打印结果追加保存至文本文件?

正确实现方案

方法一:用Python内置文件操作(推荐)

直接修正with open的写法,核心是用追加模式而非覆盖模式,同时修复语法错误:

# 修正条件判断与写入逻辑
if to != '0x' and from_addr != '0x':  # 原条件语法错误,需分别判断两个变量
    output_line = f"To: {to} From: {from_addr}"
    print(output_line)  # 控制台打印
    with open("output.txt", "a", encoding="utf-8") as text_file:
        text_file.write(output_line + "\n")  # 追加内容并换行

关键修正点:

  • 打开模式从"w"改"a":"w"会清空原有内容,"a"是在文件末尾追加
  • 修复f-string语法:原代码的f"To:" "From:" {to} {from_addr}写法错误,需把变量嵌入同一个f-string
  • 条件判断修正:原if to,from_addr != '0x':语法无效,要明确判断每个变量是否不等于'0x'
  • 手动加"\n":保证每次追加的内容单独占一行

方法二:修复os.system调用(不推荐)

如果一定要用os.system,需修正变量名、条件判断和命令格式:

import os

if to != '0x' and from_addr != '0x':
    output_line = f"To: {to} From: {from_addr}"
    print(output_line)
    # 用双引号包裹内容,避免变量含空格时出错
    os.system(f'echo "{output_line}" >> output.txt')

注意事项:

  • 若to或from_addr包含特殊字符(空格、引号等),这种方法容易出问题,不如Python内置文件操作稳定
  • 原代码里变量名大小写混乱(用了To:/From:但实际变量是to/from_addr),需统一变量名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 02:35:19