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

Python调用print打印变量正常但无法写入文件问题排查

问题排查可能原因
  • 缓冲未正常落地:虽然with语句块结束后会自动关闭文件并刷新缓冲,但如果代码在执行到最后一行json.dumps()时抛出未捕获的异常(比如toLog或self.orderBook中存在不可JSON序列化的对象),会导致程序提前终止,部分还在缓冲区的内容可能未写入磁盘。你可以在每个写入文件的print()语句后加file.flush()临时测试,如果写入正常即可确认是缓冲问题。
  • 内容被特殊字符隐藏:若toLog中存储的price或amount包含退格符、终端控制符等特殊字符,会导致你用普通文本编辑器打开文件时,前半部分内容被隐藏,看似没有写入。可以用二进制读取模式打开文件查看原始字节内容,确认toLog相关内容是否真的不存在。
  • 文件路径混淆:如果代码里的filename只写了mydoc.txt这类相对路径,文件会写入到程序运行时的当前工作目录,你可能误打开了其他目录下的旧文件,旧文件恰好只有orderBook相关内容。你可以打印os.path.abspath(filename)确认文件的实际存储路径,到对应路径下查看文件。
  • 后续操作覆盖文件:确认当前代码之外是否有其他逻辑(比如同进程的其他代码、定时任务等)同时对同一个文件执行写入操作,若其他逻辑在本代码运行结束后又以覆盖模式'w'打开文件,可能仅保留了后半部分内容。
  • 基础语法错误排查:你给出的示例代码中filename = mydoc.txt未给字符串加引号,该写法会直接抛出NameError导致程序无法运行,若实际代码也存在该类低级语法错误,先修正后再验证写入逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 08:06:04