奇妙的缘分-------try

遇到一个场景,就是爬虫代码在优先返回状态码的情况之后,再调用接下来的代码,感觉说起来很玄,也很无解的样子,可是后来在网上突然查到了try,一下就豁然开朗了

def func():
    try:
        print(1234)
        return 'ok'  # 函数得到了一个返回值
    finally:  # finally语句块中的语句依然会执行
        print(45678)



key=func()

print(key)

try和except搭配,大家都知道,只能择其一

但是try和finally搭配,就能择其二了

很简单,但是不用的话,很容易就忘记了,所以,这样提示,爬虫无止境

但是,如果finally里面,是一个很耗时的工作,如果走接口的方式,这种其实就很不合适了

from fastapi import FastAPI
import uvicorn
from pydantic import BaseModel
import time,os
import threading



app=FastAPI()
def run():
    print("我进入爬取数据了")
    time.sleep(10)
    print("我爬取到数据了")


@app.post("/test")
async def test():
    result_send = {'code': '200', 'msg': ['0000DaZ9QdNtcs3tkMn-7SMZaJk:1di522o4s', ['110186', '夏添', '11001', '共青农商银行']]}
    print("我进来了")
    if result_send["code"] == "200":
        print("我进入200了")
        result_send_msg = result_send["msg"]

        try:
            print("我要先返回了")
            key=time.time()
            return  key
        except:
            print("我是出问题了")
            return  result_send
        finally:
            print("我进入爬数据了99999999999999")
            thread = threading.Thread(target=run)
            thread.start()
       

	
	if __name__ == '__main__':
	    uvicorn.run(app=app,host="0.0.0.0",port=9000)

也就是,我们在finally里面再多开个线程,那么,其实就能满足我们的需求了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值