程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

将\ n写入.txt文件不会产生换行符,只是说\ n

发布于2020-09-26 10:49     阅读(1520)     评论(0)     点赞(10)     收藏(4)


所以我有这段代码:

#! 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个随机的Mario制造商级别db.txt(显然,我不会仅将其用于3个级别,可能是500/700,但这只是一个示例)。问题是,当我检查txt文件时,它将是这样的:

b"foo\nbar\nbaz"

但我想要这样:

b"""
foo

bar

baz
"""

有人能帮我吗?


解决方案


更换

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

data = '\n'.join(messages)


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/546006/f58f9d856bf16bd1d0df/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

10 0
收藏该文
已收藏

评论内容:(最多支持255个字符)