Hi Dennis, thanks for your reply. Dennis Lee Bieber napsal: > > def dataOnSerialPort(): > > data=s.readLine() > > Unless you are using a custom serial port module, that should be > s.readline() sorry for the typo > > > if data: > > return data > > else: > > return 0 > > This if statement is meaningless -- if "data" evaluates to false, > return a numeric value that evaluates to false. I see, it is OK just to return data (or an empty string "") > > > > > while 1: > > g=gzip.GzipFile("/root/foofile.gz","w") > > while dataOnSerialPort(): > > g.write(data) > > "data" is an uninitialized value here > > else: g.close() > > And what is the purpose of closing the file if you immediately turn > around and create it again (assuming gzip.GzipFile() behaves as open() > does, a mode of "w" means delete the old file and create a new one. > There is NO exit from the above. > > Since I can't read your mind with regards to some of your looping... > > s = ... #somewhere you had to open the serial port > > g = gzip.GzipFile("/root/foofile.gz", "w") > while True: > data = s.readline() > if not data: break > g.write(data) > g.close()
what I am trying to say is g.close() does not close the g file (try to add the line "print g" after g.close()) Petr -- http://mail.python.org/mailman/listinfo/python-list