版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/41744803
# -*- coding: utf-8 -*-
import string
import json
import urllib2
import urllib
import base64
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
#调用优酷网API获取json数据
def GetYouku():
req=urllib2.Request(url,code)
data=urllib2.urlopen(req).read()
obj=json.loads(data) #把json格式字符串解码转换成Python对象
newobj=json.dumps(obj,indent=4,ensure_ascii=False) #把Python对象编码转换成json字符串,缩进,显示中文
return newobj
#将json数据写入文件
def JsonFile(newobj):
file=open("d:\video.json","w")
file.write(newobj)
file.close()
#开始
if __name__ == '__main__':
url="https://openapi.youku.com/v2/searches/video/by_keyword.json"
params={
'client_id':'XXXXXXXXX',
'keyword':'冰桶挑战',
'category':'娱乐'
}
code=urllib.urlencode(params)
newobj=GetYouku()
JsonFile(newobj)
【问题】
【解决】
这种错误的出现是在使用built-in函数file()或者open()的时候。或者是因为文件的打开模式不对,或者是文件名有问题。
前者的话只需要注意文件是否可读或者可写就可以了。后者则是与文件路径相关的问题,需要在文件名前加r或者R转义,
如:file(r"d:\video.json",'w').或者将反斜杠\变成两个,如file("d:\\video.json",'w').