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

Python中使用write()函数写入矩阵到文本文件失败求助

问题排查与解决

核心问题分析

你的代码逻辑本身没问题,但存在文件资源未安全释放的潜在风险,以及可能的路径误解问题:

  • 文件缓冲区未强制写入/关闭异常:虽然你调用了openFile.close(),但如果程序在执行到close()之前意外崩溃(比如循环中抛出未捕获的异常),文件句柄没被正常关闭,缓冲区里的内容就不会写入磁盘,导致文件为空。另外,Python的文件写入默认是缓冲的,在close之前可能没真正刷到磁盘。
  • 路径错误:你指定的filename如果是相对路径,程序运行的工作目录可能和你预期的不一致,导致文件被写到了其他位置,你查看的是错误路径下的空文件。

修复后的代码

用with语句(上下文管理器)处理文件操作,它会自动负责文件的打开和关闭,即使发生异常也能确保缓冲区内容写入磁盘:

def writeFile1(self, filename, matrix):
    with open(filename, 'w') as openFile:
        for row in matrix:
            row_str = " ".join(str(x) for x in row) # convert row to string
            print(row_str)
            openFile.write(row_str + "\n")

额外排查步骤

  • 打印文件绝对路径,确认写入位置:
    import os
    print(os.path.abspath(filename))
    
    检查这个路径下的文件是否有内容,排除路径误解的问题。
  • 确认矩阵有效:在循环前添加print(len(matrix)),确保矩阵确实包含行数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 09:16:34