我用python3.4编写了一个python脚本,并用tegrak1处理器在chromebook上运行它。你知道吗
这是密码
def fib(n):
a, b = 1, 1
for i in range(n - 1):
a, b = b, a + b
return a
i = 2
while True:
n = fib(i)
with open('nums', 'w') as f:
f.write(str(n))
print(n)
i += 1
它运行了几分钟,然后我用Ctrl+C将其关闭。之后,我检查了名为nums
的已编写文件的内容。但发现只有1
被写入,但文件大小是5120 bytes
。你知道吗
为什么文件大小是5120字节?你知道吗
试着在写循环中做这项工作
你的文件之所以很大,是因为它不停地循环,所以当你终止程序时,会有大量的
0
字节被写在那里。你知道吗这是一个有效的解决方案
循环逻辑似乎不正确:每次打开文件时只有一个数字要写。以下是固定版本:
另外,当您通过
Ctrl+C
停止脚本时,您可能需要在f.write
之后添加另一行f.flush()
,以确保更改被刷新到磁盘上。你知道吗编辑:
或者,正如@tdelaney在评论中提到的(谢谢@tdelaney:),您可以使用append模式,只需将
with open('nums', 'w')
替换为with open('nums', 'wa')
。然而,这种方法:相关问题 更多 >
编程相关推荐