f=open('文件路徑','打開(kāi)模式')
模式分為:
‘w' 只寫(xiě)
‘r’ 只讀
‘a(chǎn)’ 添加到文件末尾
‘r+’ 讀寫(xiě)
'w+' 將原有內(nèi)容刪除,進(jìn)行讀寫(xiě)
如果以二進(jìn)制處理文件什湘,則需要在原模式后加 ‘b’,比如‘rb’,'wb'迁匠。
我今天想爬取一個(gè)網(wǎng)頁(yè)的源碼愿伴,然偶直接將源碼保存在txt里柬帕,遇到 TypeError: write() argument must be str, not bytes
#coding:utf-8
import urllib
import urllib.request
def get_html(url):
request=urllib.request.Request(url)
response=urllib.request.urlopen(request)
data=response.read()
return data
url='https://movie.douban.com/top250?start=0&filter='
print(get_html(url).decode('utf-8'))
with open('douban.txt','a') as ft:
ft.write(get_html(url))
在網(wǎng)上搜索产场,可能是Python內(nèi)部默認(rèn)為二進(jìn)制存儲(chǔ)唆姐,所以把模式改為二進(jìn)制的就沒(méi)有問(wèn)題了拗慨,比如‘wb+’