Ошибка Python при преобразовании строки в двоичный

У меня есть скрипт Python, полученный из проекта, который я пытаюсь отладить, но я не могу устранить одну ошибку. По авторскому описанию проекта все отлично работает.

Сценарий принимает параметр с именем "ascii", который имеет тип str, как показано ниже:

parser.add_argument('--ascii', type=str,
                    help='ASCII Data type: ASCII characters')

Насколько я понимаю, в следующем коде он обрабатывает входную строку по одному символу за раз, и каждый символ отправляется в функцию iter_bin(), которая примет значение ASCII символа и преобразует его в двоичный файл, добавляя вывод в список.

ASCIIDATA = args.ascii
dataArray = []

for line in ASCIIDATA:
            for entry in line:
                # Make sure everything is a number, convert if not
                dataArray.append(''.join(s for s in iter_bin(entry)))


def iter_bin(s):
    sb = s.encode('ascii')
    return (format(b, '07b') for b in sb)

Когда я запускаю этот код, я получаю следующую ошибку:

Traceback (most recent call last):
  File "check.py", line 107, in <module>
    main()
  File "check.py", line 70, in main
    dataArray.append(''.join(s for s in iter_bin(entry)))
  File "check.py", line 70, in <genexpr>
    dataArray.append(''.join(s for s in iter_bin(entry)))
  File "check.py", line 82, in <genexpr>
    return (format(b, '07b') for b in sb)
ValueError: Unknown format code 'b' for object of type 'str'

Как я могу устранить эту ошибку?

Благодарю.

0 ответов

Другие вопросы по тегам