Python konzultace

Filip Zaludek zaludek na cesnet.cz
Úterý Leden 9 16:21:43 CET 2001


Hello world!\n

 Uz asi 150 let jsem si v teto konferenci nedelal ostudu,
nevim ani jestli toto nyni povazujete za ot. Kdyztak uvitam
link na python konferenci v cestine.

Mam nasledujici programek na vypocet crc16:
--------
#!/usr/bin/python
 
import os
 
s0= "./soubor1"
s1= open(s0, "rb")
s2= os.path.getsize(s0)
image= s1.read(s2)
crc= 0xffff
 
hash16=[
0x0000, 0xCC01, 0xD801, 0x1400, 0xF001, 0x3C00, 0x2800, 0xE401,
0xA001, 0x6C00, 0x7800, 0xB401, 0x5000, 0x9C01, 0x8801, 0x4400
]
 
for a0 in range(0x0,s2):
  crc= hash16[(ord(image[a0])    ^ crc) & 0xf] ^ (crc >> 4)
  crc= hash16[(ord(image[a0])>>4 ^ crc) & 0xf] ^ (crc >> 4)
 
print 'crc: 0x%04X' % crc
s1.close()
------

 Nelibi se mi, ze pri pristupu k jednotlivym prvkum musim prevadet 
pomoci ord(). Neni v tomto pripade lepsi pro image pouzit jiny typ
a nebo neda se pristupovat do image rovnou bajt po bajtu?!
 Muze mi nejaky python guru nacrtnou, jak by se to dalo
zoptimalizovat(rychlost) na urovni pythonu?

 A druha otazka. Jaktoze v pythonu neni goto?! :(
Vysvetluje to nekde Guido, nebo mi snad neco uniklo? ;)
( v perlu goto je :((( )



Diky!

Filip Zaludek


ps>
pokud je to ot, odpovedi prosim na soukromou adresu



Další informace o konferenci Linux