当尝试应用一些我在i
Python上在互联网上找到的代码时,会出现一个错误:
TypeError Traceback (most recent call last) <ipython-input-4-36ec95de9a5d> in <module>() 13 all[i] = r.json() 14 ---> 15 cPickle.dump(all,outfile) TypeError: argument must have 'write' attribute
这是我按顺序完成的:
outfile = "C:\John\Footy Bants\R COMPLAEX MATHS"
然后,我粘贴了以下代码:
import requests,cPickle,shutil,time all = {} errorout = open("errors.log","w") for i in range(600): playerurl = "http://fantasy.premierleague.com/web/api/elements/%s/" r = requests.get(playerurl % i) # skip non-existent players if r.status_code != 200: continue all[i] = r.json() cPickle.dump(all,outfile)
这是原始文章,让您了解我正在尝试实现的目标:
解决方法
cPickle.dump()的第二个参数必须是文件对象.你传递一个包含文件名的字符串.
您需要使用open()函数打开该文件名的文件对象,然后将文件对象传递给cPickle:
with open(outfile,'wb') as pickle_file: cPickle.dump(all,pickle_file)
参见Python教程的Reading and Writing Files section,包括为什么在打开文件时使用它是一个好主意(它会自动关闭).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。