how to overcome "ValueError: read of closed file" in python 3.5.1

how to overcome "ValueError: read of closed file" in python 3.5.1

我有一个 python 脚本可以获取编号。来自 instagram API 的帖子、关注者和关注者的数量。我第一次 运行 该脚本时,它运行完美,并为我提供了所需的数据。 脚本是:--

for r in range(10,12):
    var=r,sheet.cell(row=r,column=2).value
    xy=var[1]
    ij=str(xy)
    myopener=Myopen()
    url=myopener.open('https://api.instagram.com/v1/users/'+ij+'/?access_token=641567093.1fb234f.a0ffbe574e844e1c818145097050cf33')
    beta=json.loads(url)
    item=beta['data']['counts']
    data1.append(item['media'])
    data2.append(item['followed_by'])
    data3.append(item['follows'])

我已经声明了我的 FancyURLopener 如下:=

class Myopen(FancyURLopener):
version='Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36'

我第二次 运行 脚本开始显示这个错误:-

Traceback (most recent call last):
File "<pyshell#39>", line 7, in <module>
beta=json.load(url)
File "C:\Users\rnair\AppData\Local\Programs\Python\Python35\lib\site-    packages\simplejson-3.8.2-py3.5-win-amd64.egg\simplejson\__init__.py", line 455, in load
return loads(fp.read(),
File "C:\Users\rnair\AppData\Local\Programs\Python\Python35\lib\tempfile.py", line 483, in func_wrapper
return func(*args, **kwargs)
ValueError: read of closed file

如何克服这个问题?我已经使用同一个脚本一周了,它从未出现过任何错误。为什么是今天?

我自己发现的!

上面收到的错误是由于:- 几乎没有私人的 Instagram 帐户。因此,这些帐户不允许 API 调用,并且它将显示值错误,因为 JSON 试图读取它并将包含 HTTP 错误代码 400。

为了克服这个问题,我改变了我的代码:-

for r in range(1501,1625):
var=r,sheet.cell(row=r,column=2).value
xy=var[1]
ij=str(xy)
if xy=="Account Deleted":
    data1.append('null')
    data2.append('null')
    data3.append('null')
    continue
myopener=Myopen()
url=myopener.open('https://api.instagram.com/v1/users/'+ij+'/?access_token=641567093.1fb234f.a0ffbe574e844e1c818145097050cf33')
if url.getcode() == 400:
    data1.append('Private Account')
    data2.append('Private Account')
    data3.append('Private Account')
    continue
else:
    beta=json.load(url)
    item=beta['data']['counts']
    data1.append(item['media'])
    data2.append(item['followed_by'])
    data3.append(item['follows'])

任何接受上述帮助的人都可以随时向我询问有关相同的任何问题!

我在我的代码中遇到了这个问题,然后在 url 地址中发现了一个问题。请在打开回复之前检查您的 url。