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

Reply via email to