gpt4 book ai didi

Python:在纯文本文件上写一个很长的连续数字列表

转载 作者:太空宇宙 更新时间:2023-11-04 08:42:25 25 4
gpt4 key购买 nike

我正在尝试做一个非常长的连续数字列表,从 0 开始到 10,000,000,000 或更多,并将其写入纯文本文件。我目前拥有的东西使用了所有 RAM (12 GB) 并使我的计算机重新启动。

i = 0
password = []

file = open("pass.txt", "a")
for i in range (10000):
password.append("%016d" % (i,))

for elem in password:
file.write(str(elem) + '\n')

file.close
print("Finished")

最佳答案

不要将值存储在列表中,直接写入即可:

# Use with statement to automatically close file properly, even on exception
# as soon as block finishes
with open("pass.txt", "a") as file:
for i in range(10000):
file.write("%016d\n" % i)
print("Finished")

这将缓冲 write 直到缓冲区填满,然后刷新它,这样你就可以边写边写,内存开销是固定的。

注意:以可能过于简洁为代价,您可以通过将循环替换为:

    file.writelines(map("%016d\n".__mod__, range(10000)))

# Or using format, which looks less hacky by avoiding manual use of operator overloads:
file.writelines(map("{:016d}\n".format, range(10000)))

这是一个微优化(文件 I/O 几乎肯定比您在 Python 中所做的更昂贵),但我想我会指出它是为了完整性。

关于Python:在纯文本文件上写一个很长的连续数字列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43767475/

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