1、在使用requests发送请求

壹、在使用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())

------------------------------笔者是华丽的分隔线----------------------------------

贰、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

是还是不是很想获得,难点终究出在何地,这些标题让本人纠结了长时间,二个不太在意的没有失水准。

图片 2

精确,大家就是拼接的时候,多了三个返斜扛。去掉后难题消除。

 

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

品种组织,要实行run文件夹下的run.py ;报找不到run文件中援引的包

图片 3

由来:双击推行的时候,不会自动进化寻找包,只会在目前文件夹及子文件夹中寻觅

那正是说怎么做呢,把施行文书,在类型根目录下建个run.py做为推行入口,难题解决。

图片 4

 

你大概会说了,那样做,笔者有的引用路线的地点不对了,那本人估算是获得路线的法子是

os.getcur
 获取当前路径,那样一来,你各类文件用的不二等秘书籍都以近日援引文件所在的渠道

之所以提出起个gl文件,用来囤积路线。等音讯。

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

要不然,即便你把获得路线那几个,配置到gl也正是独立三个py中,那么不一样职责调用。路线也会不相同。

 

相关文章