当前位置: 首页 > news >正文

python代码优化学习

代码优化对比:

优化前:

# 登录系统
xxljob_login()

start_time = time.time()

# 循环处理需要补数的数据
for item in authId_lists:
    preSettleInfoHandler(item)
    count += 1
    print("运行了第" + str(count) + "个")
    print("Start sleeping...")
    if count < len(authId_lists):
        time.sleep(180)  # 使程序休息3分钟
        print("Wake up after 3 minutes!")

print("End...")
end_time = time.time()
execution_time = end_time - start_time
print(f"Total execution time: {execution_time} seconds")代码优化

优化后:

在你提供的代码片段中,有几个地方可以进行优化以提高效率和可读性。以下是一些建议:

1. 使用 `time.perf_counter()` 替代 `time.time()` 以获得更精确的时间测量。
2. 如果 `preSettleInfoHandler` 函数是耗时的操作,考虑使用多线程或异步IO来并行处理任务,以减少总体执行时间。
3. 使用 `try-except` 结构来捕获和处理可能的异常,而不是简单地在循环中打印。
4. 如果 `authId_lists` 是一个很长的列表,考虑使用 `enumerate()` 来获取迭代的索引和元素,这样可以避免使用 `count` 变量。
5. 如果 `time.sleep(180)` 是为了避免过快地向服务器发送请求,确保这是必要的,并且服务器不会因为这种延迟而出现问题。

下面是根据这些建议优化后的代码示例:

```python
import time

# 假设 xxljob_login 和 preSettleInfoHandler 是已经定义好的函数

# 登录系统
xxljob_login()

start_time = time.perf_counter()

# 使用 enumerate 获取索引和元素
for idx, item in enumerate(authId_lists):
    try:
        preSettleInfoHandler(item)
        print(f"运行了第 {idx + 1} 个")
    except Exception as e:
        print(f"处理 {item} 时发生错误: {e}")

    # 如果需要在处理间隔中休息
    if idx < len(authId_lists) - 1:
        print("Start sleeping...")
        time.sleep(180)  # 使程序休息3分钟
        print("Wake up after 3 minutes!")

print("End...")

end_time = time.perf_counter()
execution_time = end_time - start_time
print(f"Total execution time: {execution_time} seconds")
```

请注意,如果你的应用程序需要并行处理,你可能需要使用 `concurrent.futures.ThreadPoolExecutor` 或者 `asyncio` 库来实现。这取决于你的具体需求和环境。同时,确保在并行处理时考虑到线程安全和资源竞争的问题。

相关文章:

python代码优化学习

代码优化对比&#xff1a; 优化前&#xff1a; # 登录系统 xxljob_login() start_time time.time() # 循环处理需要补数的数据 for item in authId_lists: preSettleInfoHandler(item) count 1 print("运行了第" str(count) "个") …...

C#,数值计算,求解微分方程的吉尔(Gear)四阶方法与源代码

1 微分方程 微分方程&#xff0c;是指含有未知函数及其导数的关系式。解微分方程就是找出未知函数。 微分方程是伴随着微积分学一起发展起来的。微积分学的奠基人Newton和Leibniz的著作中都处理过与微分方程有关的问题。微分方程的应用十分广泛&#xff0c;可以解决许多与导数…...

2024年新提出的算法|LEA爱情进化算法(Love Evolution Algorithm)

Love Evolution Algorithm: a stimulus–value–role theory-inspired evolutionary algorithm for global optimization 爱情进化算法Love Evolution Algorithm&#xff0c;LEA&#xff0c;于2024年2月发表在中科院3区SCI期刊 The Journal of Supercomputing。 1、简介 本文提…...

javaWeb个人学习02

会话技术 会话: 用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束.在一次会话中包含多次请求和响应 会话跟踪: 一种维护浏览器状态的方法,服务器需要识别多次请求是否来自于同一个浏览器,以便在同一次会话的多次请求之间共享数据 会话跟踪方案: …...

EchoServer回显服务器封装与测试

目录 类实现 编译测试 这一篇本质上是为了TcpServer而做的一层封装,让外界调用更加简洁 参考上文 TcpServer服务器管理模块(模块十)-CSDN博客 类实现 echo.hpp #include "../server.hpp"class EchoServer { private:TcpServer _server;private:void OnConnect…...

详解POCV/SOCV的时序报告

​POCV/SOCV的时序报告中有如下变量&#xff1a; Mean: 高斯分布中的μ值&#xff08;平均值&#xff09; Sensit: sensitivity&#xff0c;也就是1个Sigma的值&#xff1b; Corner: Sigma边界的最差值 cell的delay Delay mean N * Delay sigma; cell 的Transition Sl…...

[VNCTF2024]-PWN:preinit解析(逆向花指令,绕过strcmp,函数修改,机器码)

查看保护&#xff1a; 查看ida&#xff1a; 这边其实看反汇编没啥大作用&#xff0c;需要自己动调。 但是前面的绕过strcmp还是要看一下的。 解题&#xff1a; 这里是用linux自带的产生随机数的文件urandom来产生一个随机密码&#xff0c;然后让我们输入密码&#xff0c;用st…...

网络通信技术

▶1.分组交换技术 在网络通信中&#xff0c;数据通过网络节点的某种转发方式&#xff0c;实现从一个端系统到另一个端系统之间的数据传输技术称为数据交换技术。数据交换技术有电路交换、报文交换和分组交换&#xff0c;计算机网络采用分组交换技术。 分组就是源主机(如服务器…...

【刷题】位运算

消失的两个数字 消失的两个数字 “单身狗”进阶版思路 class Solution { public:vector<int> missingTwo(vector<int>& nums) {int ret 0;int n nums.size();for(int i 0; i < n; i){ret ^ (nums[i] ^ i);}ret ^ (n ^ (n 1) ^ (n 2));// 按位异或的…...

C++重新入门-string容器

目录 1.包含头文件 2.创建字符串 3.获取字符串长度 4.字符串拼接 5.字符串比较 相等性比较 大小比较 使用比较函数 6.访问字符串 7.查找子串 8.字符串修改 替换子串 插入字符或子串 删除字符或子串 9.提取子串 10.总结 当谈到C中的字符串时&#xff0c;std::str…...

C语言头歌:指针进阶

第1关&#xff1a;输出若干个学生成绩中的最高分.要求用指针函数实现 任务描述 题目描述:读入n(1 < n < 1000)个学生的成绩&#xff0c;成绩都为整数&#xff0c;用指针函数求出若干个学生成绩的最高分。用数组名作为函数参数&#xff0c;指针作为函数返回值。 ####相关…...

【C++】一个求数组中最大元素的函数模板

题目 设计一个分数类 F r a c t i o n Fraction Fraction&#xff0c;再设计一个名为 M a x e l e m e n t Max_element Maxe​lement 的函数模板&#xff0c;能够求数组中最大的元素&#xff0c;并用该模板求一个 F r a c t i o n Fraction Fraction 数组中的最大元素。 C…...

SpringCloud Alibaba(保姆级入门及操作)

第一章 微服务概念 1.0 科普一些术语 科普一下项目开发过程中常出现的术语,方便后续内容的理解。 **服务器:**分软件与硬件,软件:类型tomcat这种跑项目的程序, 硬件:用来部署项目的电脑(一般性能比个人电脑好) **服务:**操作系统上术语:一个程序,开发中术语:一个…...

SpringBoot集成Activiti案例

前言 Activiti项目是一项新的基于Apache许可的开源BPM平台&#xff0c;从基础开始构建&#xff0c;旨在提供支持新的BPMN 2.0标准&#xff0c;包括支持对象管理组&#xff08;OMG&#xff09;&#xff0c;面对新技术的机遇&#xff0c;诸如互操作性和云架构&#xff0c;提供技…...

Vulnhub靶机:basic_pentesting_2

一、介绍 运行环境&#xff1a;Virtualbox 攻击机&#xff1a;kali&#xff08;10.0.2.4&#xff09; 靶机&#xff1a;basic_pentesting_2&#xff08;10.0.2.7&#xff09; 目标&#xff1a;获取靶机root权限和flag 靶机下载地址&#xff1a;https://download.vulnhub.c…...

复试PAT乙级day33

PAT乙级1106~1110 1106_2019数列有一个测试点过不了 1109_擅长C 这题不会&#xff0c;通过的是别人的代码 1110_区块反转 这题跟1105_链表合并 的处理很像。值得注意的是分段区间翻转用 大转小转 的方式。这题也有一个测试点通不过。...

npm ERR! path /Users/apple/.npm/_cacache/index-v5/11/77/cf18d9ab54d565b57fb3

在使用npm时&#xff0c;有时候您可能会遇到类似以下错误的权限问题&#xff1a; npm ERR! path /Users/apple/.npm/_cacache/index-v5/11/77/cf18d9ab54d565b57fb3 npm ERR! code EACCES npm ERR! errno -13 npm ERR! syscall open npm ERR! Error: EACCES: permission denie…...

震惊!python类型的自动化测试框架原来这么简单!

自2018年被评选为编程语言以来&#xff0c;Python在各大排行榜上一直都是名列前茅。目前&#xff0c;它在Tiobe指数中排名第三个&#xff0c;仅次于Java和C。随着该编程语言的广泛使用&#xff0c;基于Python的自动化测试框架也应运而生&#xff0c;且不断发展与丰富。 因此&am…...

人脸高清算法GFPGAN之TensorRT推理

1. 综述 最近由于做数字人项目&#xff0c;采用的是wav2lip GFPGAN进行人脸面部高清&#xff0c;但GFPGAN模型本身比较大&#xff0c;所以想着使用TensorRT来代替原始的pth推理看看能否提升运行速度&#xff0c;于是便开始了这趟windows1之下进行GFPGAN的trt推理的折腾之旅。…...

05 OpenCV图像混合技术

文章目录 理论算子示例 理论 其中 的取值范围为0~1之间 算子 addWeighted CV_EXPORTS_W void addWeighted(InputArray src1, double alpha, InputArray src2, double beta,double gamma, OutputArray dst, int dtype -1 ); 参数1&#xff1a;输入图像Mat …...

从理论到实战:Retinex算法家族(SSR/MSR/MSRCR)在Python中的演进与调优指南

1. Retinex算法家族的前世今生 第一次接触Retinex算法是在2013年处理监控视频增强项目时。当时遇到一个棘手问题&#xff1a;夜间监控画面中的人脸总是模糊不清&#xff0c;传统直方图均衡化处理后噪点爆炸&#xff0c;细节反而更差了。直到发现了Retinex这个"视觉魔术师&…...

RK3566调试手记:当IMX586摄像头遇上EDP屏,我是如何排查‘有图无显’问题的

RK3566调试手记&#xff1a;IMX586摄像头与EDP屏的"有图无显"问题全解析 当你在RK3566平台上成功驱动了IMX586摄像头&#xff0c;通过v4l2工具能抓取到YUV数据&#xff0c;却发现EDP屏幕一片漆黑时&#xff0c;这种"有图无显"的困境确实令人抓狂。作为一名…...

百度搜索算法逆向思考

百度搜索算法逆向思考技术文章大纲 搜索引擎算法基础架构分析 百度搜索算法的核心组件包括爬虫系统、索引系统、排序系统。爬虫系统负责抓取网页内容&#xff0c;索引系统对内容进行结构化处理&#xff0c;排序系统根据用户查询匹配最相关结果。 排序算法涉及数百种因素&…...

像素时装锻造坊应用场景:独立电影概念设计中的像素化分镜草图生成

像素时装锻造坊在独立电影概念设计中的应用&#xff1a;像素化分镜草图生成实践 1. 独立电影分镜设计的痛点与机遇 独立电影制作常常面临预算有限但创意无限的矛盾。传统分镜设计需要雇佣专业分镜师&#xff0c;成本高昂且周期长。而使用普通AI工具生成的分镜又往往缺乏艺术统…...

信号完整性扫盲:你的USB3.0干扰大?可能是差分信号‘跑偏’成了共模信号

USB3.0信号干扰排查指南&#xff1a;当差分信号"走散"时如何力挽狂澜 去年调试一款工业摄像头时&#xff0c;每当隔壁车间的变频器启动&#xff0c;我们的USB3.0视频流就会突然卡顿。用频谱仪捕捉到的噪声波形显示&#xff0c;原本应该相互抵消的差分信号&#xff0c…...

RTSP开发模拟:从零构建本地视频流测试环境

1. 为什么需要本地RTSP测试环境 做音视频开发的朋友应该都遇到过这样的尴尬&#xff1a;算法写好了&#xff0c;功能开发完了&#xff0c;但手头没有摄像头硬件&#xff0c;或者网络环境不稳定&#xff0c;测试起来特别麻烦。我刚开始做视频分析项目时&#xff0c;经常要借同事…...

告别网盘限速烦恼!八大网盘直链下载助手完整使用指南

告别网盘限速烦恼&#xff01;八大网盘直链下载助手完整使用指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云…...

数据结构——顺序栈

一、顺序栈的定义栈是限定仅在表尾进行插入和删除操作的线性表&#xff0c;我们允许将插入和删除的一端叫做栈顶&#xff0c;另一端称为栈底&#xff0c;任何数据元素的栈称为空栈&#xff0c;栈又称为后进先出的线性表栈顶指针&#xff1a;指向的是最后一个元素的下一个位置注…...

Windows Defender终极移除指南:一键彻底关闭系统安全防护的完整解决方案

Windows Defender终极移除指南&#xff1a;一键彻底关闭系统安全防护的完整解决方案 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitcode.c…...

如何用uBlock Origin实现浏览器零广告体验:完全免费的高效拦截指南

如何用uBlock Origin实现浏览器零广告体验&#xff1a;完全免费的高效拦截指南 【免费下载链接】uBlock uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean. 项目地址: https://gitcode.com/GitHub_Trending/ub/uBlock 还在为网页上不断弹…...