writing integer values to a file using out.write()
write() only takes a single string argument, so you could do this:
outf.write(str(num))
or
outf.write('{}'.format(num)) # more "modern"
outf.write('%d' % num) # deprecated mostly
Also note that write
will not append a newline to your output so if you need it you'll have to supply it yourself.
Aside:
Using string formatting would give you more control over your output, so for instance you could write (both of these are equivalent):
num = 7
outf.write('{:03d}\n'.format(num))
num = 12
outf.write('%03d\n' % num)
to get three spaces, with leading zeros for your integer value followed by a newline:
007
012
format() will be around for a long while, so it's worth learning/knowing.
any of these should work
outf.write("%s" % num)
outf.write(str(num))
print >> outf, num
i = Your_int_value
Write bytes value like this for example:
the_file.write(i.to_bytes(2,"little"))
Depend of you int value size and the bit order your prefer