Pythonnewers 发表于 2020-3-20 18:11:34

[Python]爬虫中的写入错误...

代码:
import urllib.request
re=urllib.request.urlopen('http://desk.zol.com.cn/')
cat_img = re.read()

f=open('cat.jpg','wr')
f.write(cat_img)
f.close()

错误:
Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\爬虫.py", line 5, in <module>
    f=open('cat.jpg','wr')
ValueError: must have exactly one of create/read/write/append mode
好想是wr问题(我这个是图片网站)

LYF511 发表于 2020-3-21 08:43:57

没有wr
https://www.runoob.com/python/python-func-open.html

模式        描述
r        以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb        以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+        打开一个文件用于读写。文件指针将会放在文件的开头。
rb+        以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w        打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb        以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
w+        打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+        以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a        打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab        以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+        打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+        以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

suchocolate 发表于 2020-3-21 09:05:53

urlopen访问的是网站的url,得到的是网页的html。
你需要访问图片的url,下载的才是图片。
然后图片用wb模式保存。

Pythonnewers 发表于 2020-3-21 09:08:13

LYF511 发表于 2020-3-21 08:43
没有wr
https://www.runoob.com/python/python-func-open.html



????看小甲鱼的视频是wr,困扰我一晚上,没睡好,淦!
页: [1]
查看完整版本: [Python]爬虫中的写入错误...