计算机应用毕业论文第八篇:日常工作问题处理中Python程序的运用
摘要:Python是一门简单、实用而且有趣的百搭款语言,在Web应用开发、系统网络运维、科学与数字计算、网络编程等领域都有所建树。在计算机语言中Python发展速度不可小觑,可以说是最适合零基础人士入门学习的计算机语言之一。本文针对Python在日常工作中的应用,将介绍如何灵活应用Python操作Excel及获取网站信息,使得我们的日常工作更为高效、简便。主要使用到的Python第三方库有math、os、ftplib、socket和openpyxl等。
关键词:Python; 编程; 代码;
Python是荷兰人Guido van Rossum在1989年圣诞节期间编写的一种编程语言。现在,全世界差不多有600多种编程语言,但流行的编程语言也只有十几种。下面的图1列表基于源自TIOBE编程社区指数的数据,该指数是表明近两年中编程语言受欢迎程度的常用指标:
图1 2019年和2018年编程语言占有率排名
过去15年来,Python的受欢迎程度稳步上升。过去这几年,它一直能够跻身TIOBE指数前5名的位置。作为如今人工智能、机器学习、大数据和机器人等一些最有前途的技术背后的主要语言,Python近年来积累了庞大的粉丝群。你会惊讶地发现,学习Python很容易,这就是为什么不论初出茅庐的新手程序员还是经验丰富的开发人员选择Python作为第二或第三语言的原因。
“Python的语法是非常精简的,对于一位完美主义者来说,Python将是他爱不释手的伙伴。Python社区的目标就是构造完美的Python语言!本文将使用Python3来进行讲解。”
1 Python简介
当用一种编程语言开始真正的解决工作中的问题时,除了编写代码外,还需要很多基本的已经写好的现成的东西,来协助加快开发进度。比如,要编写一个电子邮件客户端,如果先从最底层开始编写网络协议相关的代码,那估计一年半载也开发不出来。高级编程语言通常都会提供一个比较完善的基础代码库,可以直接调用,比如,针对电子邮件协议的SMTP库,针对桌面环境的GUI库,在这些已有的代码库的基础上开发,一个电子邮件客户端几天就能开发出来。
Python就为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称作“内置电池(batteries included)”。用Python开发,许多功能不必从零编写,直接使用现成的即可。除了内置的库外,Python还有大量的第三方库,也就是别人开发的,供你直接使用的东西。当然,如果你开发的代码通过很好的封装,也可以作为第三方库给别人使用。
许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。Python的定位是“优雅”“明确”“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常复杂的程序。
2 用Python实现机器人自动报价
2.1 输入模板和输出结果
以此案例介绍Python如何处理Excel文件标准格式产品配置报价,当然Excel自定义宏也可以实现部分类似功能,只不过在这个案例中我们用Python程序显得更简单、效率更高,且具有可复制性、可扩展性。
图2 机器人报价清单
图2所示为需要处理的机器人配置表格,经过Python程序处理自动输出的报价表(价格已经过脱敏处理)。以往200台工业机器人选型配置往往需要耗费大量的人工工时来分类筛选并填写价格,用时1~3小时不等,但Python从输入模板到输出结果,总共时间不超过5s,大大缩短了报价所需的时间,同时避免了人为操作失误。
2.2 第三方库Openpyxl
这里用到一个Python第三方库Openpyxl,我们简单介绍一下,Openpyxl诞生源于现有的库,用于读取/写入Excel 2010 XLSX/XLSM/XLTX/XLTM文件。
2.3 程序的编写思路
程序的思路和代码的顺序并没有直接的关联,以下我们主要讲解自动报价程序的实现思路:
首先,机器人采购配置清单是一个标准的Excel文件模板,机器人报价清单则是另一个标准的Excel文件模板,所以需要先将机器人采购配置清单中和价格有关的配置选项拷贝至机器人报价清单。
其次,定义每种配置数据对应的价格,加上判断的逻辑,利用for…in…语句逐行判断并填写相应的价格数值到对应的列表单元,随后保存新文件。
最后,需要检查并调试程序BUG,完成封装后可共享给他人使用。
3 用Python实现机器人批量自动备份
3.1 输入模板和输出结果
用此案例来介绍Python如何批量下载程序,当然市面上不乏有这样的软件,但是这些软件不仅需要开发时间及费用,还需要不同岗位的专家大量测试配合。作为业余的程序员,完全可以一个人运用Python来实现此项功能。
图3所示为Python程序运行后自动输出的备份文件。以往的普通备份操作需要花大量的人工和时间,而使用此Python程序自动运行2分钟即可,完成1台机器人程序备份。
图3 机器人备份文件
3.2 第三方库
这里先介绍一下代码中使用到的第三方库。第一个是ftplib,它是Python的内置的一个标准模块,它提供了对FTP服务端的操作功能,通过它我们可以连接并操作FTP服务端。第二个是socket,用来设置IP地址访问超时等待时间。第三个是os,它也是Python的内置的一个标准模块,可以用来处理windows系统操作,如创建文件夹、删除文件等。最后是Openpyxl,上一节中也使用过,用于读取/写入Excel文件。
3.3 程序的编写思路
程序的思路和代码的执行顺序并没有直接的联系,以下我们主要讲解自动备份程序的实现思路:
首先,我们需要插入将要用到的所有第三方库os、ftplib、socket、openpyxl,并创建一个下载文件的总文件夹。
其次,check_Excel_sheet()函数用来读取输入模板中的sheet,get_IP()函数用来读取输入模板中的sheet中的IP地址,并且初步筛选出填写格式正确的IP地址,错误的IP地址则会在后一列填写报错代码以示区别,openpyxl具体使用方法请参考官方说明手册。
最后,load_files(each_IP)函数中会逐个连接之前读取到的IP地址,根据IP地址创建子文件夹并且批量下载文件。
最终主程序把各个自定义函数串联起来,并做了防错/跳过程序处理,防止程序卡死,至此即完成任务。主程序结构代码如下:
4 Python的编程思路和应用启发
4.1 Python的编程思路
完成相同的一个任务,使用汇编语言需要1000行代码,使用C语言需要500行代码,使用Java只需要100行,而使用Python,可能只需要20行就可以了。这就是Python,即使你没有任何编程基础,仍然可以很快上手并且利用它提高自己的工作效率。其主要的使用思路可以大致分为四步。第一步,思考工作中计算机使用时的痛点,难点或重复劳动的繁重内容,思考如何使用Python解决问题或提升效率。第二步,要相信方法总比问题多,一步登天对大多数人而言毕竟难度较大,所以把大问题拆分成分散的小问题,逐个击破,最后一气呵成攻下难关。第三步,学会利用网络上的各种共享资源,不断学习,也许你思考的问题前人已有总结并分享,这样就可以大大节约你的编程时间,有些第三方库并不需要学很深,只需要了解能帮助你解决问题的功能或模块即可。第四步,在测试程序的过程中发现问题,及时修正程序并添加注解,不断完善,避免3个月后再回来看程序时一脸茫然。
做好以上四步,对于初学者来说,足以开发一些小程序解决部分工作上的问题。
4.2 Python的应用启发
本文是在汽车行业中机器人工程师的角度思考并编程解决问题。其实Python能应用的场景远不止于此,以下是关于Python在各行各业(非计算机专业)中应用的一些构想。
设备工程师:利用Python监控、抓取设备关键参数,按照特定的算法、权重做可视化分析故障率,提前预知设备停机风险。
网络编辑:利用Python检索网络大数据,筛选关键字,精致定位相关文章,批量下载图片。
培训师:利用Python科学库把数据生成智能分析图,提高说服力。
5 结语
“操作文本或者数据是件大事。如果不相信,就仔细看看当今的计算机都在做些什么工作:文字处理、网页表单的填写、来自数据库转储的信息流、股票报价信息、新闻源,而且这个清单还会不断增长”。本文基于Python3软件,介绍了Python及其各种第三方库在汽车行业机器人工程师手中的实际应用案例。希望通过Python各种成熟的库及精简的语句,为提升工作效率、解决工作中碰到的难点、痛点提供更多高效、简便的途径。
参考文献
[1]李佳宇.零基础入门学习Python[M].北京:清华大学出版社,2016.
[2] 廖雪峰.Python教程[OL].2015. https://www.liaoxuefeng.com/wi ki/0014316089557264a6b348958f449949df42a6d3a2e542c000.
[3]Wesly J.Chun,宋吉广.Python核心编程[M].2版.北京:人民邮电出版社,2008.