Python не записывает новую строку в файл, в то время как он должен - PullRequest
0 голосов
/ 24 января 2020
xadd = open('x.txt', 'w', encoding="utf-8")
hha = [ 'j', 'a', 's', 'o', 'n', '\\n', 'b', 'r', 'o', 'w', 'n']
a = ''.join(hha)
xadd.write(a)
xadd.close()

Вывод файла: jason \ nbrown . Я могу предположить, что проблема связана с переменной a , потому что, когда я делаю это нормально, без файла join появляются новые строки. Может кто-нибудь объяснить мне, почему это не работает, и дать мне решение этой проблемы?

1 Ответ

2 голосов
/ 24 января 2020

Простое исправление. Ваш \\n должен быть \n

xadd = open('x.txt', 'w', encoding="utf-8")
hha = [ 'j', 'a', 's', 'o', 'n', '\n', 'b', 'r', 'o', 'w', 'n']
a = ''.join(hha)
xadd.write(a)
xadd.close()

Также рассмотрите возможность использования диспетчера контекста при открытии файлов. Это автоматически закроет файл, даже если произойдет исключение, и ваш код не попадет в строку .close().

with open('x.txt', 'w', encoding="utf-8") as xadd:
    hha = [ 'j', 'a', 's', 'o', 'n', '\n', 'b', 'r', 'o', 'w', 'n']
    a = ''.join(hha)
    xadd.write(a)  
...