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

为何我的脚本无法将所有结果写入文件?技术咨询

问题原因

你每次循环里用open('stars.txt', 'w')打开文件,'w'是写入模式,这个模式的特性是:打开文件时会直接清空原有内容,然后写入新数据。所以每循环一次,之前写入的内容就被清空了,最后自然只剩最后一条数据。

解决方案

推荐两种处理方式:

方式一:把文件操作放在循环外(效率更高)

用with语句自动管理文件打开和关闭,只打开一次文件,循环写入所有内容:

with open('stars.txt', 'w') as sourceFile:
    for star in Constellation_data(starDf.values.tolist()):
        print(star)
        print(star, file=sourceFile)

with语句会在代码块结束后自动关闭文件,比手动调用close()更安全,也避免了重复打开关闭的开销。

方式二:改用追加模式打开文件

如果必须在循环内打开文件,把打开模式改成'a'(追加模式),这个模式不会清空原有内容,新数据会追加到文件末尾:

for star in Constellation_data(starDf.values.tolist()):
    print(star)
    with open('stars.txt', 'a') as sourceFile:
        print(star, file=sourceFile)

不过这种方式每次循环都要打开关闭文件,效率比第一种低,更推荐第一种方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 17:02:35