On Fri, 06 Jul 2007 17:31:50 +0000, DeveloperX wrote: > I am trying to figure out how to rewrite the following chunk of code > in Python: > > C source > [code] > typedef struct PF > { > int flags; > long user; > char*filename; > unsigned char buffer[MAXBUFFERSIZE]; > } PF; > > typedef BLOCK > { > PF * packdata; > } BLOCK; > > BLOCK* blocks; > [/code] > > My first idea was to create a class for PF and a class for BLOCK, but > I got lost somewhere along the lines. :\ > > Python Attempt: Please note that since I can't type TABs online > easily, I am using the @ character to represent TABs in the following > Python code. > [code] > class PF: > @def __init__(self): > @@self.flags, self.user = 0, 0 > @@self.filename = '' > @@self.buffer = [] > > class BLOCK: > @def __init__(self): > @@self.packdata = [] > > blocks = [] > [/code] > > Any Python Gurus out there that can help me?
At a first glance it looks okay but unless we know what you are going to do with these data structures it's hard to tell if it is really the best "translation". `PF.buffer` might be better a string or an `array.array`. And is `BLOCK` really just a structure with *one* member? Looks a bit odd IMHO. Ciao, Marc 'BlackJack' Rintsch -- http://mail.python.org/mailman/listinfo/python-list