Почему запись числа в текстовом файле занимает много времени? - PullRequest
2 голосов
/ 23 марта 2020

Я написал программу, для создания которой требуется 0,1092 секунды, а для записи этого числа (3,81 МБ) в / в текстовый файл - 787,26012 секунды = 13 минут, что удивительно, может кто-нибудь объяснить, почему это происходит? Кроме того, есть ли более быстрый способ записи этого большого числа в текстовый файл?

import time
import sys
import math
start = time.time()

input_file="First1_58MB_enwik9.txt"
with open(input_file, "rb") as file: #--> open file in binary read mode
  byte_obj = file.read() #--> read all binary data
g=int.from_bytes( byte_obj, byteorder=sys.byteorder)
binary_dt=bin(g)


int_v=int(binary_dt,2)
length = math.ceil(math.log(int_v, 256))
res = int.to_bytes(int_v, length=length, byteorder='little', signed=False)

open("output_file_2.txt", "wb").write(res)

end = time.time()
print("Total time (in seconds) = ",(end - start))
#---------------------------
start = time.time()
with open("output_file_1.txt", 'w') as f:
  f.write('%d' % g)

end = time.time()
print("Total time (in seconds) = ",(end - start))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...