Ошибка 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'
Как я могу устранить эту ошибку?
Благодарю.