Cocoapods安装和选拔中常见错误【持续更新】

发布时间:2019-04-22  栏目:Python  评论:0 Comments

manbet手机客户端3.0,一、在使用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字典

如上航海用体育场合代码假诺实行报如下错误:

manbet手机客户端3.0 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中,读出来的时候默许就是字符串,要是读出来直接接纳就会合世本文的荒谬,

所以哪儿错了那几个要清楚,那是贰个小细节;调节和测试输出,发掘输出跟以下是同1的,

尚未错呀那是字典呢{‘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())

------------------------------小编是华侈的分隔线----------------------------------

二、join拼接路线

os.path.join拼接路线,遭受的标题,经常会把温馨绕进去

 

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

print(reporPath)

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

 

不当输出输出:

d:\PHJ\Reporter\LOGS\report
d:\Image

我们期待结果:

d:\PHJ\Reporter\LOGS\report
d:\PHJ\Reporter\LOGS\report\Image

是否很意外,难点究竟出在哪里,那一个主题材料让自家庭纠纷结了许久,3个不太上心的小标题。

manbet手机客户端3.0 2

没有错,大家就是拼接的时候,多了四个返斜扛。去掉后难点消除。

 

3、写完项目,直接在微型Computer中双击py文件,报文件中引用的包找不到

品类组织,要施行run文件夹下的run.py ;报找不到run文件中引用的包

manbet手机客户端3.0 3

缘由:双击试行的时候,不会自动进化找出包,只会在现阶段文件夹及子文件夹中检索

那么如何是好呢,把施行文书,在等级次序根目录下建个run.py做为实践入口,难题化解。

manbet手机客户端3.0 4

 

您只怕会说了,那样做,笔者有个别引用路线的地方不对了,那本人估摸是收获路线的不二等秘书籍是

os.getcur
 获取当前路径,那样一来,你种种文件用的路径都以当前引用文件所在的渠道

从而提出起个gl文件,用来囤积路线。等新闻。

os.path.abspath(os.path.dirname(__file__))
用那几个获得当前路径,而不用用os.getcur

要不,就算你把收获路线那么些,配置到gl也正是独自3个py中,那么不相同地点调用。路线也会分歧。

 

留下评论

网站地图xml地图