金天牛

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

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 + '\n')
            except Exception as e:
                logging.info('the exception error is %s, other is %s' % (e.args, repr(e)))
                continue
    f2.close()
f1.close()

posted on   金天牛  阅读(1096)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示