Cocoapods安装和选用中何足为奇错误【持续更新】

来源:http://www.sh-fengwen.com 作者:家常菜谱 人气:150 发布时间:2019-11-07
摘要:1、在使用requests发送请求,响应数据转成json提示,没有可解码的json 安装或更新第三方库时出现如下警告 [!] Your Podfile has had smart quotes sanitised. To avoid issues in the future, you should not use Te

1、在使用requests发送请求,响应数据转成json提示,没有可解码的json

安装或更新第三方库时出现如下警告

[!] Your Podfile has had smart quotes sanitised. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes in your editor of choice.

原因:

  • 使用了文本编辑去编辑Podfile文件;Pod文件最好使用Xcode编辑,或者使用Vim编辑。
  • Podfile 的内容语法格式有问题

解决办法:

这是由于,发送请求的数据,存在错误,响应出错比如404 400,所以找不到可以解码的json

示例如下:

postdata = '''{'userName':'13718651996',
            'passwd':'yhlxxxx870120',
            'validateCode':'abc',
            'rememberMe':'true'}'''
url = 'https://secure.elong.com/passport/ajax/elongLogin'
response = Session().post(url,data=postdata)
print(response.json())

其实从图上很明显能看出问题,因为postdata是字符串类型,不是dict字典

如上图代码如果执行报如下错误:

图片 1

解决办法,eval()函数将字符串,转换成字典;如下所示

postdata = '''{'userName':'13718651996',
            'passwd':'yhlxxxx870120',
            'validateCode':'abc',
            'rememberMe':'true'}'''
url = 'https://secure.elong.com/passport/ajax/elongLogin'
request = Session().post(url,data=eval(postdata))
print(request.json())

有人可能会说,你这不是多此一举吗?把postdata直接定义成字典不就行了;你说的没错确实可以这样

postdata = {'userName':'13718651996',
            'passwd':'yhlxxxx870120',
            'validateCode':'abc',
            'rememberMe':'true'}
url = 'https://secure.elong.com/passport/ajax/elongLogin'
request = Session().post(url,data=postdata)
print(request.json())

但是如果以下这串数据,存储在数据库中,或者excel中,读出来的时候默认就是字符串,如果读出来直接使用就会出现本文的错误,

所以哪里错了这个要知道,这是一个小细节;调试输出,发现输出跟以下是一样的,

没有错呀这是字典呢{'xxxx':'xxx'..........},但是它就是字符串。容易被忽略,所以还要使用eval(postdata)函数转成字典

{'userName':'13718651996',
            'passwd':'yhlxxxx870120',
            'validateCode':'abc',
            'rememberMe':'true'}

正确代码:

postdata = '''{'userName':'13718651996',
            'passwd':'yhlxxxx870120',
            'validateCode':'abc',
            'rememberMe':'true'}'''
url = 'https://secure.elong.com/passport/ajax/elongLogin'
request = Session().post(url,data=eval(postdata))
print(request.json())

------------------------------我是华丽的分隔线----------------------------------

2、join拼接路径

os.path.join拼接路径,遇到的问题,经常会把自己绕进去

 

str = r'd:PHJReporterLOGS'
#报告文件路径
reporPath = os.path.join(str,'report')
isExistPath(reporPath) #创建文件夹

print(reporPath)

imgPath = os.path.join(reporPath,'\Image')
print(imgPath)

本文由美高梅游戏平台网站发布于家常菜谱,转载请注明出处:Cocoapods安装和选用中何足为奇错误【持续更新】

关键词:

上一篇:Python功底(五) python装饰器使用

下一篇:没有了

频道精选

最火资讯