Запись \ n в файл .txt не создает новую строку, просто говорит \ n - PullRequest
0 голосов
/ 13 октября 2018

Итак, у меня есть этот код:

#! python3
import requests
import bs4
import time
import sys

messages = []

for i in range(3):
    # initiating request
    res = requests.get('https://supermariomakerbookmark.nintendo.net/')
    try:
        res.raise_for_status()
    except Exception as e:
        # handling error
        print('Error while requesting from bookmark:')
        print(e)
        time.sleep(3)
        sys.exit()

    # If gotten to this point, request has been succesfully made

    # creating soup element
    soup = bs4.BeautifulSoup(res.text, features='html.parser')

    # selecting elements
    elems = soup.select('div[class="course-title"]')
    if elems[0].getText() not in messages:
        print(elems[0].getText())
        messages.append(elems[0].getText())
    time.sleep(0.3)

with open('db.txt', 'w+') as f:
    data = '\n'.join(messages).encode('ascii', 'ignore')
    f.write(str(data))

И вы, возможно, выяснили, я пытаюсь записать 3 случайных уровня Марио Мейкера в файл с именем db.txt (Очевидно, я выиграл 'Не используйте его только для 3 уровней, вероятно, 500/700, но это только пример).Проблема в том, что когда я проверяю txt-файл, это выглядит примерно так:

b"foo\nbar\nbaz"

Но я хочу вот так:

b"""
foo

bar

baz
"""

Может ли кто-нибудь мне помочь?

1 Ответ

0 голосов
/ 13 октября 2018

Заменить

data = '\n'.join(messages).encode('ascii', 'ignore')

на

data = '\n'.join(messages)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...