Python:将大整数写入文件的最快方法
我想把一个非常大的整数从Python写到一个文本文件,大约10到1000兆字节 以下选项具有相同的速度,不幸的是,两者都非常慢:Python:将大整数写入文件的最快方法,python,string,file-io,integer,output,Python,String,File Io,Integer,Output,我想把一个非常大的整数从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
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
的值只是另一个大整数的占位符)
我的问题:
谁能帮忙?这需要人类可读吗?是的,请人类可读:)我必须问,为什么它必须是人类可读的?你真的要检查那些数字吗?转换为
str
,即人类可读的字符串,需要花费很长时间。如果你使用原始二进制表示法,速度会快得多。除非你能对它进行pickle处理,否则你会被str(int)卡住,如果这太慢,那是因为写一个千兆字节实际上需要时间。有没有办法避免二进制数,并从一开始就以10为基数计算?如果是,我们可以避免转换。。。