Не могу нормально записать кириллицу в .txt (Python 3.8)

def write(*number1):
    number1 = 1
    while number1 <= number2:
        f = open('x.txt', 'a')
        f.write(str(input("ТЕСТ-->")))
        if number1 < number2 and number2 >= 2:
            f.write(str("\n"))
        number1 += 1
        if number1 == number2:
            f.close()
number2 = int(input('КОЛИЧЕСТВО СТРОК==>'))
if number2 >= 1:
    write()

В итоге записываются вопросительные знаки в ромбиках. И еще одна ерунда... Когда пишу f.read() не выводит текст который в файле записан.


Ответы (1 шт):

Автор решения: n1tr0xs

Используйте open('x.txt', 'a', encoding='utf-8')
Нет смысла в конструкции str(input()) т.к. input() возвращает строку.

def write(*number1):
    number1 = 1
    while number1 <= number2:
        f = open('x.txt', 'a', encoding='utf-8')
        f.write(input("ТЕСТ-->"))
        if number1 < number2 and number2 >= 2:
            f.write("\n")
        number1 += 1
        if number1 == number2:
            f.close()
number2 = int(input('КОЛИЧЕСТВО СТРОК==>'))
if number2 >= 1:
    write()
→ Ссылка