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])  


猜你喜欢

转载自www.cnblogs.com/chenpython123/p/10699281.html