python 写入文件形式
写入文件的不只是文本,还有二进制等,字节流是什么样式关系到能否写入文件。
以获取网页写入文件操作示例:
response = requests.get("http://www.baidu.com") print(response.encoding) print(response.text) # 文本格式 print(response.content) # 字节格式 with open ('bai.html' ,'w',encoding='utf-8') as f: f.write(response.text) # 如果没有 encoding='utf-8' ,在Windows默认gbk打开文件,写入就会有问题 # 如果网页的编码比如是 ISO-8859-1 ,那么 encoding='ISO-8859-1' 也是可以成功写入 with open ('bai2.html' ,'wb') as f: f.write(response.content)
在这里注意有 编码格式,在window下默认是gbk,网页或者Linux下是 unicode编码。
w:以写方式打开,
a:以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r+:以读写模式打开
w+:以读写模式打开 (参见 w )
a+:以读写模式打开 (参见 a )
rb:以二进制读模式打开
wb:以二进制写模式打开 (参见 w )
ab:以二进制追加模式打开 (参见 a )
rb+:以二进制读写模式打开 (参见 r+ )
wb+:以二进制读写模式打开 (参见 w+ )
ab+:以二进制读写模式打开 (参见 a+ )fp.read([size])