Albert Tu wrote: > I am learning and pretty new to Python and I hope your guys can give me > a quick start. > > I have an about 1G-byte binary file from a flat panel x-ray detector; I > know at the beggining there is a 128-byte header and the rest of the > file is integers in 2-byte format. > > What I want to do is to save the binary data into several smaller files > in integer format and each smaller file has the size of 2*1024*768 > bytes. > > I know I can do something like >>>>f=open("xray.seq", 'rb') >>>>header=f.read(128) >>>>file1=f.read(2*1024*768) >>>>file2=f.read(2*1024*768) >>>>......
(using a loop might help) >>>>f.close() > > Bur I don't them how to save files in integer format (converting from > binary to ascii files) and how to do this in an elegant and snappy way. I think you have to define "integer format" a bit better. A text file with integer values, written out in decimal? If so, take a look at the array module: http://docs.python.org/lib/module-array.html Here's an (untested) example; tweak as necessary: linesize = 1024 data = array("h", filedata) for i in range(0, len(data), linesize): # convert to list of decimal integers list = map(str, data[i:i+linesize]) print " ".join(list) tools like PIL and NumPy may also come in handy, but I suspect they're overkill in this case. </F> -- http://mail.python.org/mailman/listinfo/python-list