Re: TypeError: 'bytes' object is not callable error while trying to converting to bytes.
You have assigned a bytes value to the name bytes: >>> bytes([10, 20, 30, 40]) b'\n\x14\x1e(' >>> bytes = bytes([10, 20, 30, 40]) >>> bytes([10, 20, 30, 40]) Traceback (most recent call last): File "", line 1, in TypeError: 'bytes' object is not callable bytes is now bound to the value b'\n\x14\x1e(', which is not callable. This global is shadowing the built-in. Delete it: del bytes -- https://mail.python.org/mailman/listinfo/python-list
Re: TypeError: 'bytes' object is not callable error while trying to converting to bytes.
On Aug 4, 2014, at 22:57, Chris Angelico ros...@gmail.com wrote: On Tue, Aug 5, 2014 at 3:47 PM, Satish ML satishmlwiz...@gmail.com wrote: bytes = file.read() You've just shadowed the built-in type 'bytes' with your own 'bytes'. Pick a different name for this, and you'll be fine. 'data' would work. Until python4 introduces the 'data' built in. :) -- https://mail.python.org/mailman/listinfo/python-list
Re: TypeError: 'bytes' object is not callable error while trying to converting to bytes.
On Wed, Aug 6, 2014 at 3:31 PM, Travis Griggs travisgri...@gmail.com wrote: On Aug 4, 2014, at 22:57, Chris Angelico ros...@gmail.com wrote: On Tue, Aug 5, 2014 at 3:47 PM, Satish ML satishmlwiz...@gmail.com wrote: bytes = file.read() You've just shadowed the built-in type 'bytes' with your own 'bytes'. Pick a different name for this, and you'll be fine. 'data' would work. Until python4 introduces the 'data' built in. :) Python 3.6 could introduce that, no need to wait for Python 4. :) However, it wouldn't be critical to this code, unless the builtin's meaning is also wanted; it'd be on par with the shadowing of 'file' earlier - given how rarely Python programs actually need 'file' (rather than 'open'), it's not a big deal to shadow that one. ChrisA -- https://mail.python.org/mailman/listinfo/python-list
Re: TypeError: 'bytes' object is not callable error while trying to converting to bytes.
Satish ML satishmlwiz...@gmail.com writes: import struct file = open('data.bin', 'rb') Here you re-bind the name ‘file’ to the return value from that call. bytes = file.read() Here you re-bind the name ‘bytes’ to the return value from that call. records = [bytes([char] * 8) for char in b'spam'] Here you attempt to call ‘bytes’, which (as the error says) is not callable. You should choose names which are not already bound:: in_file = open('data.bin', 'rb') in_file_content = in_file.read() records = [bytes([char] * 8) for char in in_file_content] When choosing names, try to communicate the *purpose* of the value, its semantic meaning. The type should be of secondary importance, and almost always should not be part of the name. -- \“Institutions will try to preserve the problem to which they | `\ are the solution.” —Clay Shirky, 2012 | _o__) | Ben Finney -- https://mail.python.org/mailman/listinfo/python-list
Re: TypeError: 'bytes' object is not callable error while trying to converting to bytes.
On Tue, Aug 5, 2014 at 3:47 PM, Satish ML satishmlwiz...@gmail.com wrote: bytes = file.read() You've just shadowed the built-in type 'bytes' with your own 'bytes'. Pick a different name for this, and you'll be fine. 'data' would work. ChrisA -- https://mail.python.org/mailman/listinfo/python-list