Python 3.x: проблемы записи строк utf-8 в двоичный текстовый файл - PullRequest
0 голосов
/ 11 июня 2018

В настоящее время я прорабатываю "Изучение Python на хардвее" и пытаюсь изменить одно упражнение.Задача: записать двоичные эквиваленты языков в новый файл .txt

import sys
script, encoding, error = sys.argv

def main(language_file, encoding, errors):
    line = language_file.readline()

    if line:
        print_line(line, encoding, errors)
        return main(language_file, encoding, errors)

def print_line(line, encoding, errors):
    next_lang = line.strip()
    raw_bytes = next_lang.encode(encoding, errors=errors)
    cooked_string = raw_bytes.decode(encoding, errors=errors)
    bin_file.write(raw_bytes + "\n".encode("utf-8"))
    print(raw_bytes, "<===>", cooked_string)

languages = open("languages.txt", encoding="utf-8")
bin_file = open("bin_languages.txt", "wb")
main(languages, encoding, error)

Большая часть этого кода взята из учебного примера, поэтому для целей понимания существует кодирование / декодирование raw_bytes дляcooked_strings и обратно.

К сожалению, выходной файл содержит то же содержимое, что и исходный файл.Мой подход не возможен?Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...