簡體   English   中英

為什么我在這個python代碼中得到一個“AttributeError:'str'對象沒有屬性'write'”

[英]Why do I get an “AttributeError: 'str' object has no attribute 'write' ” in this python code

我試圖將一個漂亮的湯對象中的文本保存到文件中,以后我可以編輯和使用。 我已經導入了所有必要的模塊,但由於某種原因,每次在“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路徑和with上下文管理器 另外,要避免TypeError:需要類似字節的對象,而不是'str'錯誤並獲得字節字符串,您需要調用encode()

with open(bookPage, 'wb') as f:
    f.write(soup.encode("utf-8"))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM