将 Python 列表写入文件 - 适用于朋友的计算机,但不适用于我的



我写了一个程序,其中我需要 3 个数组(列表(来写入 txt 文件。当我在计算机上运行代码时,txt 文件为空。我把它发送给一个朋友,他运行了它,程序在他的计算机上填充了txt文件。

我几乎没有编码经验,需要 txt 文件来完成家庭作业。

注意:它确实在今天早些时候在我的计算机上运行,尽管其中一个数组没有写入文件。但是,当我稍后再次运行它时(在代码前面添加其他打印语句以进行错误检查之后(,它再次没有写入 txt 文件。 什么可能导致这种类型的行为?我写入 txt 文件的代码如下:

import csv
.....
MyFile = open('BattSim.txt', 'w')
wr = csv.writer(MyFile)
wr.writerow(RedArmy)
wr.writerow(BlueArmy)
wr.writerow(BattleTime)
MyFile.close

您是否在交互式解释器中运行了它(或者在非CPython解释器中运行,或者以某种奇怪的方式崩溃(?如果是这样,问题是您实际上并没有flush/close文件;您引用了 close 方法,但未调用它。你想要MyFile.close()(有括号可以打电话(。

或者,您可以使用 with 语句来保证close行为(即使中途抛出异常(:

import csv
.....
# Use with statement to autoclose, and newline='' to follow csv module rules
with open('BattSim.txt', 'w', newline='') as MyFile:
    wr = csv.writer(MyFile)
    wr.writerow(RedArmy)
    wr.writerow(BlueArmy)
    wr.writerow(BattleTime)

相关内容

最新更新