Colab Python写入txt文件时换行失效问题求助
问题解决:遇到0时写入并换行失效的修复
核心问题出在判断条件不匹配:你的my_array是字符串类型的numpy数组(元素是'0'而非整数0),但代码里判断的是my_array[i]!=0,这导致永远不会触发else分支的换行逻辑。
修正后的代码
import numpy as np # 假设my_array是已定义的字符串数组 with open('dimac_outfs1.txt', 'a') as writefile: for elem in my_array: if elem != '0': writefile.write(elem) else: # 写入'0'并换行 writefile.write(f"{elem}\n")
关键调整说明
- 把判断条件从
!=0改为!= '0',匹配数组中字符串类型的0 - 直接遍历数组元素(
for elem in my_array)比用索引更简洁高效 - 移除了冗余的
str()转换(数组元素本身就是字符串) - 原代码中第一行
f=open('dimac_outfs1.txt')没有关闭文件,属于无效且不安全的操作,直接删除即可
你之前尝试的else分支写法本身没问题,但因为判断条件错误,这段代码根本没被执行,所以看不到换行效果。
内容的提问来源于stack exchange,提问作者Elena
相关产品推荐
相关产品推荐

