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

# -*- 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').


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@SmartSi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值