gpt4 book ai didi

python - 在 Python 中将计算信息写入文本文件的前面

转载 作者:行者123 更新时间:2023-12-01 05:52:01 25 4
gpt4 key购买 nike

所以我在地下室发现了这台蹩脚的旧笔记本电脑(我现在从 05 年左右搬出了姐姐的笔记本电脑),我一直在用 Python 对其进行大量计算并放置几个小时来摆弄它。我的最新项目是将前 10 亿个素数保存到一个文本文件中(我知道这毫无意义,但有点有趣)到目前为止,这是我的代码:

from time import time
start_time = time()
f = open('primes.txt', 'w')
counter = 1
number = 1
while counter <= 1000000000:
if prime(number): #NOTE: prime is a function checking if a number is prime
f.write(str(counter) + ' ' + str(number) + '\n')
counter += 1
number += 1

f.write(time() - start_time)
f.write('This file contains the first %s primes.' % (counter))

f.close

我的问题在最后。我希望时间和素数列在文件的第一行,而不是末尾,因为十亿个素数是一个非常长的文本文件。显然我不能在计算/写入素数之前写它,因为时间和素数都将为0。

有什么方法可以在计算和写入完成后将信息插入到文件的开头(第一行)吗?

解决了!在开头添加空格然后使用 f.seek(0) 效果很好。就程序而言,前1亿用了3天左右!显然不是最高效的程序,但它也只在 1 个内核上运行,频率仅为 800 MHz

最佳答案

您可以在文件开头写入一些空格

f.write(" "*30)

然后,当你完成计算时,你回到开头并覆盖这个空白:

f.seek(0)
f.write(str(counter)+" primes")

关于python - 在 Python 中将计算信息写入文本文件的前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13913830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com