mode='wb' in python I/O 操作能否写入图像二进制文件

Can mode='wb' in python I/O operations write image binaries

see my pc screen 我使用的代码是这样的:

from wikipedia import page
import requests

responce = requests.get(page('beach').images[0])

with open(r'files/beach.jpg', mode='wb') as file:
    file.write(responce.content)

但它总是会生成照片查看器无法打开的文件

python version 3.9.6, modules installed wikipedia:1.4.0, requests:2.26.0

在我的机器上 运行 完全正常,没有任何错误

请检查以下代码是否符合您的要求。您的代码的问题在于您只是将维基百科 HTML 页面的原始内容以二进制模式写入 files/beach.jpg 文件,而事实并非如此有效的图像文件。为了更好地理解,请尝试将您之前的代码创建的图像文件重命名为 beach.txt 并查看内容。

from wikipedia import page
from urllib.request import urlretrieve

urlretrieve(page('beach').images[0], "files/beach.jpg")