Был у меня небольшой код на php, котoрый перелопачивал приличный объем данных за пару минут с хорошей загрузкой процессора. Я переписал код на третий питон, практически строка в строку, код получился чуть компактнее, но шуршит уже полчаса и конца работе не видать (выдача выглядит правильно). Загрузка процессора не выше 5%. Он всегда такой медленный?
import struct
import io
import math
def outfile(name, seq):
with open('ind/'+name, 'ab') as sif:
rex = struct.pack('L', seq)
sif.write(rex)
sif.close()
with open("highway-line.shp", "rb") as shpf:
hdr = shpf.read(100)
#shpf.close
vav = struct.unpack('<9L8d', hdr)
x = 1
while True:
rh = shpf.read(8)
if not rh:
break
hh = struct.unpack('>2L', rh)
rec = shpf.read(hh[1]*2)
r = struct.unpack('<L4d', rec[0:36]);
sqname = '%03d%02d.bin' % (r[1],r[2])
if (math.trunc(r[1]) != math.trunc(r[3]) or math.trunc(r[2]) != math.trunc(r[4])):
sqname2 = '%02d%03d.bin' % (r[3],r[4])
outfile(sqname2, x)
outfile(sqname, x) #print(sqname)
x+=1
print('Job done!');