[Python]Invalid mode ('w') or filename: 'd:\x0bideo'

来源:互联网 发布:铁塔倾斜度的算法 编辑:程序博客网 时间:2024/04/29 09:48
# -*- coding: utf-8 -*- import stringimport jsonimport urllib2import urllibimport base64import sysreload(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').


0 0
原创粉丝点击