python函数的实参可以是其他函数的调用_Python 能不能到函数里才执行实参

实参用来获取网页的指定信息如果获取成功,GetInfo函数执行正常,程序也没问题如果获取失败,会提示异常我想把异常写入到log中,但是不行,因为这个程序先通过实参获取信息,获取成功的话就...

实参用来获取网页的指定信息

如果获取成功,GetInfo函数执行正常,程序也没问题

如果获取失败,会提示异常

我想把异常写入到log中,但是不行,因为这个程序先通过实参获取信息,获取成功的话就把获取到的信息传递到GetInfo函数,获取失败的话就提示异常,根本就进不到函数,进不到函数的话自然就不能写入log

目前的想法是不执行实参,直接把实参传递到GetInfo函数里,到函数里再执行

拿A区来说,实参为

response.xpath('/html/body').re('(?<="product_no" value=").*?(?=")')[0]

实参到函数中就变成了Number

到了 item['ProductNumber'] = Number 这一语句时才执行

response.xpath('/html/body').re('(?<="product_no" value=").*?(?=")')[0]

如果信息获取失败,就能捕捉到异常并写入到log中

只是不知道Python支不支持这种功能

如果不支持的话,有什么替代办法

def GetInfo(Number):

try:

item['ProductNumber'] = Number

except Exception , exception:

f = open("C:\\Log.txt", "a")

f.write(str(exception))

f.write('\n')

f.close()

#A

GetInfo( response.xpath('/html/body').re('(?<="product_no" value=").*?(?=")')[0] )

#A

#B

GetInfo( response.xpath('/html/body').re('(?<=src=")http.*?(?=")') )

#B

#C

GetInfo( response.xpath('//*[@id="buyform"]/div[2]/h2').re('(?<=>)[^

#C

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值