广东十一选五一定牛:Python使用中错误(持续更新

来源:http://www.mnuet.com 作者:动态资讯 人气:74 发布时间:2019-10-16
摘要:1、在应用requests发送央浼,响应数据转成json提醒,未有可解码的json 解决办法: 那是出于,发送央求的数量,存在不当,响应出错譬如404400,所以找不到可以解码的json 演示如下: po

1、在应用requests发送央浼,响应数据转成json提醒,未有可解码的json

解决办法:

那是出于,发送央求的数量,存在不当,响应出错譬如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)

 

不当输出输出:

d:PHJReporterLOGSreport
d:Image

我们愿意结果:

d:PHJReporterLOGSreport
d:PHJReporterLOGSreportImage

是否很奇异,难题到底出在哪儿,那一个难题让自个儿纠缠了好久,一个不太注意的没反常。

广东十一选五一定牛 2

准确,大家就是东拼西凑的时候,多了七个返斜扛。去掉后难题化解。

 

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

项目结构,要推行run文件夹下的run.py ;报找不到run文件中援用的包

广东十一选五一定牛 3

原因:双击实行的时候,不会自行进化寻找包,只会在近些日子文件夹及子文件夹中寻觅

那正是说如何是好吧,把奉行文书,在品种根目录下建个run.py做为施行入口,难点消除。

广东十一选五一定牛 4

 

你恐怕会说了,那样做,作者有的引用路径的地方不对了,那自个儿估摸是得到路线的点子是

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

所以提出起个gl文件,用来囤积路线。等消息。

os.path.abspath(os.path.dirname(__file__)) 用那些获妥帖前路径,而并不是用os.getcur

再不,就算你把收获路线那一个,配置到gl相当于独自八个py中,那么分歧地方调用。路线也会分化。

 

本文由广东十一选五一定牛发布于动态资讯,转载请注明出处:广东十一选五一定牛:Python使用中错误(持续更新

关键词:

最火资讯