繁体   English   中英

Python:将大 integer 写入文件的最快方法

[英]Python: Fastest way to write large integer to file

我想写一个非常大的 integer 从 Python 到一个文本文件,大约 10 到 1000 兆字节。

以下选项具有相同的速度,不幸的是两者都非常慢:

import time
import pickle

num = 17**(10**7)

t1=time.time()
pickle.dump( num , open( "save2.p", "wb" ) )
t2=time.time()
print(str(t2-t1))

t3=time.time()
file = open("testfile2.txt","w") 
file.write(str(num))
file.close()
t4=time.time()
print(str(t4-t3))

(当然, num的值只是另一个大整数的占位符)

我的问题:

  1. 有没有更快的方法来编写带有十进制数字的人类可读文件?
  2. 如果没有,我怎样才能在没有人类可读性的情况下更快地编写它?

谁能帮忙?

尝试这个:

import random

f=open("filename.txt","w")
char=""
ints=["0","1","2","3","4","5","6","7","8","9"]
for i in range(10**10): #Ten to the power of ten
  char+=random.choice(ints)
if char.startswith("0"):
  char=char[1:]
f.write(char)
f.close()

如果你想阅读 integer,你可以这样写:

myInt=int(open("filename.txt","r").read())

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM