1. 程式人生 > >Python安全筆記(二)

Python安全筆記(二)

“TypeError: write() argument must be str, not bytes”錯誤

出現以上錯誤的程式碼:

r = requests.get("https://www.baidu.com",verify=False)
cont = r.content
o = open("test.html",'w')
o.write(cont)

原因猜測:因為open以寫模式開啟檔案時,預設是設該檔案為strings格式,因此write的引數只能為str格式,而r.content是byte格式,二者格式不一致
修復:open的引數改為“wb”,即以二進位制格式開啟,則前後的格式一致,執行成功

r = requests.get("https://www.baidu.com",verify=False)
cont = r.content
o = open("test.html",'wb')
o.write(cont)