当前位置: 代码迷 >> python >> 为什么我在这个python代码中得到一个“AttributeError:'str'对象没有属性'write'”
  详细解决方案

为什么我在这个python代码中得到一个“AttributeError:'str'对象没有属性'write'”

热度:105   发布时间:2023-06-13 17:01:54.0

我试图将一个漂亮的汤对象中的文本保存到文件中,以后我可以编辑和使用。 我已经导入了所有必要的模块,但由于某种原因,每次在“pagename.write(str(soup))”时我都会得到相同的错误。我尝试重写这种多重方式而且我只是难倒

#Testing implementation of writing to file
#save the HTML to a beautiful soup object
soup = BeautifulSoup(browser.page_source, 'html.parser')

#TODO: use breadcrumb of page name for loop later on
breadcrumb = soup.select('.breadcrumb span')
pagename = breadcrumb[0].get_text()

#open a file then write to it
bookPage = os.path.join('books/cpp/VST', pagename+'.txt')
open(pagename, 'wb')
pagename.write(str(soup))

#close file
#pagename.close()


#TODO: move on to next file

pagename是一个字符串 - 从HTML中提取的文件名。

你的意思是使用bookPage路径和 。 另外,要避免TypeError:需要类似字节的对象,而不是'str'错误并获得字节字符串,您需要调用encode()

with open(bookPage, 'wb') as f:
    f.write(soup.encode("utf-8"))
  相关解决方案