Best way to write a file n-bytes long

Michael Porter mporter at despammed.com
Wed Aug 27 13:03:46 CEST 2003


"Tony C" <cappy2112 at yahoo.com> wrote in message
news:8d3e714e.0308261404.12045d96 at posting.google.com...
> Does Python have a function that is analogous to C's write() or
> fwrite()-
>
> that is , I want to write a file (of arbitrary data) that is 100K, or
> 1MB (or more) bytes long..
>
> Both write() and fwrite() in C allow the user to specify the size of
> the data to be written.
>
> Python's write only allows a string to be passed in.
>
> Sure, I could create a string that is n Megabytes long, and pass it to
> write, but it seems as though there should be a better way ???
> String manipulation is typically considered slow.
>
> st="X" * 1048576
> fh=open("junk","wb")
> fh.write(st)
> fh.close()
>
>
>
> thanks

Another alternative is to seek to required position and write (at least) one
byte...

reqSize = 1048576
fh = open('junk', 'wb')
fh.seek(reqSize - 1)
fh.write('\0')
fh.close()

Mike.







More information about the Python-list mailing list