• Python关于在循环调用中忽略错误参数继续执行的思考


    工作中,碰到了这样一个问题:根据用户ID获取用户信息中的某个参数A。而提供的用户id中,有些通过接口获取的用户信息是空的,那就无法拿到这些用户信息的参数A。

    思考1:而当我想逐个把所有的用户信息中的参数A写入一个文件时就不好实现了。怎么解决这个问题呢?想到了用try……except……忽略错误。

    思考2:如果try内部任意一行代码出现异常,# 直接跳转至except,执行except下代码。此方法只要有一个异常,程序就不继续执行了。当循环中出现异常时,如何跳过循环中的异常继续执行呢?

    思考3:那就是把try 放在每次执行的循环中,出现错误时,在except中用 continue语句继续到下一个循环。当执行无误时,把参数A写入到文件中,当有错误时,跳转到except语句。

    思路有了,举个栗子如下:

    import json
    import requests
    import logging
    import time
    logging.basicConfig(level=logging.DEBUG,filename='xiangmu.log',format='%(asctime)s - %(name)s - %(levelname)s - %(message)s') #设置日志级别

    url_token="http://www.xiangmu.com/employee/getTokenByempCode"   #获取用户信息接口

    usertoken=[]

    with open('F:/stand emp.txt','r') as f1:
        with open('D:/emptoke.txt','r+') as f2:
            lin_content = f1.readlines()               #获取所有用户
            lin_num = len(lin_content)
            print(lin_num)
            for f1_every in lin_content:
                f1_every = f1_every.strip()         # 去除行尾的换行符
                payload = {'userCode': f1_every}          #接口的参数
                print(payload)
                try:
                    res=requests.get(url=url_token,params=payload)
                    usertoken.append(res.json()['data']['token'])
                    token = res.json()['data']['token']            #获取所需要的参数A
                    time.sleep(0.1)
                    f2.write(token + ' ')
                except Exception as e:
                    logging.info('the exception error is %s, other is %s' % (e.args, repr(e)))
                    continue
        f2.close()
    f1.close()

  • 相关阅读:
    Tarjan专题
    Catalan数
    状压DP
    威尔逊定理证明:
    【fzoj 2376】「POJ2503」Babelfish
    Android 源码
    Android实现推送方式解决方案
    Android apk 签名
    圆角的实现
    Android 资源
  • 原文地址:https://www.cnblogs.com/jintianniu/p/15470788.html
Copyright © 2020-2023  润新知