TypeError:参数1必须是字符串或缓冲区,而不是实例

时间:2017-07-02 13:11:13

标签: python urllib2

我的应用程序在python中遇到问题我的应用程序是在指定时间从网上下载视频。我的程序名是tidopy.py 但是我得到了这个错误:

追踪(最近一次通话):   文件" tidopy.py",第29行,in     file.write(数据) TypeError:参数1必须是字符串或缓冲区,而不是实例

我对这部分有疑问:

while (coun > x):
    file = open(namelist[x], 'wb')
    file.write(urllib2.urlopen(addresslist[x])).read()
    file.close()
    x = x + 1

x 是视频数量的变量。

名单是视频名称的列表。

地址列表是网络视频地址列表

我该如何解决? 请帮忙。

1 个答案:

答案 0 :(得分:0)

以下是从列表中执行下载的简单代码。

import requests
import shutil

namelist = [...]
addresslist = [...]

for k, x in enumerate(namelist):
    r = requests.get(x, stream=True)
    if r.ok:
        with open(addresslist[k], 'wb') as f:
            r.raw.decode_content = True
            shutil.copyfileobj(r.raw, f)