On 18.02.13 17:12, mikp...@gmail.com wrote:
on an embedded linux system (BeagleBoard) I am writing data coming from
bluetooth dongle into a pipe.
The function is the following one:
def write_to_pipe(line):
# next line ensures that bytes like '0x09' are not translated into '\t' for
#example, and they are sent as such
hexbytes = "\\x" + "\\x".join([hex(ord(c))[2:].zfill(2) for c in line])
wrap = ["echo -en '", "' > /tmp/mypipe"]
msg = hexbytes.join(wrap)
print "DBG: sending: ", msg
try:
os.popen( msg )
except:
print "Error: write_to_pipe has failed!"
Now I typically receive 4 bytes from the bluetooth dongle and that is fine.
However when I receive many more than that it seems that the writing into the
pipe is too slow.
Is there any clever/obvious way to improve the code above?
(I am quite sure there is to be honest).
def write_to_pipe(line):
hexbytes = ''.join('\\x%02x' % ord(c) for c in line)
with open('/tmp/mypipe', 'w') as f:
f.write(hexbytes)
--
http://mail.python.org/mailman/listinfo/python-list