Python-完全自动化
文章平均质量分 50
使用Python作为日常的开发辅助脚本,提高工作效率。
Peter(阿斯拉达)
关注系统界面开发技术,安全,语言特性,网络,图形,AI,硬件,并发,研发流程管理.
展开
-
[Python]_[初级]_[三元运算表达式]
1. 在阅读`Python`代码的时候,有时候会发现很奇怪的`if else`用法,发现它没有条件为真时的执行语句,怎么回事?原创 2023-02-05 18:25:22 · 183 阅读 · 0 评论 -
[Python]_[初级]_[字符串格式化的三种方法]
1. 在开发网络应用的时候,会用到`URL`的一些拼接替换处理。比如某个链接的部分需要替换为其他内容,其他部分保持不变,那么有没有快捷的字符串模板替换库呢?2. 在阅读第三方代码时,会看到`f"xxxx{1}"`这类的字符串,这是什么语法?原创 2023-02-05 15:57:46 · 428 阅读 · 0 评论 -
[Python]_[初级]_[使用open函数生成文件需要注意换行符问题]
场景在linux上执行shell脚本时出现$’\r’:command not found错误. 在Windows上打开.sh文件是能正常显示的,怎么回事?使用Python生成的utf-8格式的文件为什么print函数设置了end="\n"还是输出十六进制的0D0A, 不应该只输出0A吗?说明在Linux上的Bash shell脚本文件是严格规定了必须\n(0A)作为换行符, 因此如果在Windows上生成的文件以\r\n作为换行符的话, 执行这个shell文件时会报错的。在Py原创 2021-12-16 15:08:02 · 1285 阅读 · 0 评论 -
[Python]_[初级]_[使用PyCharm时不识别根包位置和Debug时报ModuleNotFoundError错误]
场景在使用PyCharm开发程序时,当我们Debug某个文件时,会报以下错误,什么原因?Traceback (most recent call last): File "C:\Program Files\JetBrains\PyCharm Community Edition 2018.2.5\helpers\pydev\pydevd.py", line 15, in <module> from _pydevd_bundle.pydevd_constants import IS原创 2021-11-15 17:46:06 · 1521 阅读 · 0 评论 -
[Python]_[初级]_[校验查询sqlite3数据库]
场景sqlite3数据库是我们开发程序时常用来存储数据的数据库,如果发布产品时我们需要一些初始化数据才能正常运行产品,那么这个数据库测试组如何进行校验是否正确呢?说明sqlite3的提供了C语言的动态库进行操作,但是测试组并不都会使用C语言开发测试程序的,而且使用C开发的程序还需要进行编译链接运行,比较慢,这会影响测试编写测试脚本的效率。测试一般使用是Python作为自动化测试语言,Python3其实也集成了sqlite3库作为标准模块进行了发布,我们可以直接使用import sqlit原创 2020-11-30 10:42:23 · 525 阅读 · 1 评论 -
[Python]_[初级]_[校验XML文件完整性]
场景在开发生成docx文档时,也需要生成内部的word/document.xml文档, 而生成xml避免不了需要校验xml的元素标签完整性,即开始和结束标签匹配。如果每次生成docx文档还需要解压获取打开document.xml文件来手动判断有效性效率就太低了。前面讲过可以通过python来解压zip(docx)格式, 当然也可以通过python来校验生成的docx文档是否有损坏。说明docx实际上就是zip格式, 我们可以把后缀名改为zip,之后就能解压出来一些文件,里面的文字部分就是存储在原创 2020-09-17 00:08:10 · 1435 阅读 · 1 评论 -
[Python]_[初级]_[压缩和解压zip文件]
场景我们在开发,测试,运维时,有时候需要手动压缩打包一些日志或者解压缩指定的ZIP文件进行分析。比如下载文件可以自动化,但是到解压的过程反而需要手动去解压缩,这个反复的工作会浪费大量的时间。所以我们如何使用Python进行解压缩文件?说明Windows上是没有压缩和解压缩zip的命令的. 而Python自带的库zipfile可以解决这个问题,而且无需多少代码。ZipHelper.py既实现了解压缩整个zip或指定压缩文件里的某个文件,也实现了压缩某个目录到zip的功能. 我使用pyins原创 2020-09-14 18:00:26 · 876 阅读 · 1 评论 -
[Python]_[初级]_[多线程下载单个文件]
场景使用Python做自动化测试时,有时候需要从网络下载软件安装文件并安装。但是使用urllib库时,默认都是单线程下载文件,如果文件比较小还好说,如果文件有20M时,普通的网速就要等待很长的时间。有没有模块类似下载工具那样能多线程下载同一个文件?如果没有多线程下载单个文件的模块,那我们应该如何编码实现功能?说明Python作为日常的部署语言,编写自动化脚本目前看来还是比较方便的,因为它的库很多,动态语言特性灵活,自动内存管理,编码到执行都无需编译等待等。说到这个多线程下载单个原创 2020-07-18 16:22:36 · 1457 阅读 · 0 评论 -
[Python]_[中级]_[禁用WIN7和WIN10自动更新脚本]
场景修改注册表和禁用系统服务可以通过批处理,是否可以通过Python来处理?能否写一个Python脚本来禁用WIN7和WIN10的自动更新?说明我在禁用自动更新批处理脚本里用批处理实现了两个功能:1.修改注册表的自动更新;2.禁用Windows Update启动。批处理能运行的前提是系统有sc,net,reg这3个命令,没有因系统的版本而被删除.而使用Python写的...原创 2020-04-04 23:32:52 · 892 阅读 · 0 评论 -
[Python]_[初级]_[修改Windows服务-禁用WIN10的自动更新系统服务部分]
场景在Windows里使用Python做一些自动化管理时, 有时候需要创建,关闭,修改,禁用或删除Windows服务, 而不是通过SC命令来简单处理. 这时候我们就需要pywin32库来调用WIN32的函数来操作.说明pywin32是第三方库,需要自己通过pip install pywin32安装,如果提示pip版本过低,可以通过自己去pywin32下载的64位版本的AMD64或32位...原创 2020-04-04 23:13:18 · 954 阅读 · 0 评论 -
[Python]_[初级]_[关于Python3兼容Python2的方案]
场景Python2在最近几年已经不适合用在项目里了, 比如urllib3不支持,https TLS不支持, 导致访问https网络总有问题.在持续集成的项目里, 自动构建是必不可少的开发流程, 开发人员提交代码, 持续集成程序检测到代码变更, 自动构建项目. 如果项目需要做一些资源打包和处理等等,在Windows上批处理是不能胜任的, 使用Python基本就是必然的选择. Java项目...原创 2019-01-28 10:24:12 · 473 阅读 · 0 评论 -
[Python]_[网络]_[关于如何使用urllib3库和访问https的问题]
场景1.在使用Python2 urllib2访问如今的大部分https网络时, 会输出不支持https的警告, 这部分https使用的是TLS协议, 而Python2已经不再维护, 官方已经不支持. 如果需要支持,会提醒需要使用urllib3, 而urllib3只支持Python3.说明1.在使用urllib3时, 会输出以下的警告; urllib3默认是不验证https请求的, 这样会容易...原创 2018-11-30 23:43:06 · 4823 阅读 · 0 评论 -
[Python]_[初级]_[关于如何使用全局变量的问题]
场景1.在做python开发时, 有时候会用到全局变量, 比如某个配置需要影响到程序的生命周期, 或者多线程程序里, 需要判断某个变量是True, 从而知道需要停止任务执行.2.C++的全局变量只需要在头文件里声明一个extern int gTime;即可, 之后在.cpp里定义变量即可. 之后其他文件如果需要用到这个变量, 就包含这个头文件即可. 如果需要跨动态库使用的话, 还需要单独编译一...原创 2018-11-30 23:41:12 · 1610 阅读 · 0 评论 -
[Python]_[初级]_[关于with语句的使用方法]
场景1.在很多项目代码里, 经常会遇到语句with的使用, 这个with到底如何使用的呢, 它又会用在哪方面呢?2.with语句是python里特殊的语句, 在Java,Object-C,C++里是没有的, 它是否是关键的语句, 没有这个语句是不是很多场景就没有替代方案了?说明0.with语句并不是必须的语句, 它的替代方案就是try/finally语句. 只不过with语句需要的对象比较...原创 2018-11-30 23:39:13 · 1285 阅读 · 0 评论 -
[Python]_[界面]_[关于tkinter界面使用定时器的问题]
场景1.在开发tkinter界面程序时, 使用工作线程处理耗时工作, 想在界面里显示工作的进度, 如何绘制?方法1: 像Windows的消息循环那样, 通过tkinter的类似于PostMessage消息发送到主线程, 之后主线程来处理消息.方法2: 不发送消息到主线程, 填充数据到线程队列queue.Queue, 之后主线程有定时任务来读取这个queue.Queue,并绘制进度. 哪个更好呢?...原创 2018-11-30 23:37:20 · 4545 阅读 · 0 评论 -
[Python]_[初级]_[使用struct库对二进制文件进行读写]
场景1.要分析或生成一个二进制文件时, Python使用 struct库来转换或分析二进制数据. 当然使用C++或者Java来分析也可以, 但对于脚本语言Python来说, 编写数据和调试时间都没Python快. 所以Python其实是比较正确的选择.2.如果需要传输socket数据, 在定义好数据格式时自然也是使用stuct.pack和unpack来打包数据和分析数据.说明1...原创 2018-07-13 16:08:31 · 2662 阅读 · 0 评论 -
[Python]_[使用正则表达式提取迅雷界面配置文件XLUE的图片]
场景: 1.某种情况需要提取XLUE里的图片.如果量大的话对照XLUE里的一个个copy出来很费时。2.可以用python快速提取图片.这种速度是C++,Java不能比拟的.文件1: test.xml 文件2:test_python_re.py#! encoding=utf-8# 导入正则包impo原创 2013-10-21 10:07:21 · 1786 阅读 · 0 评论 -
[Python]_[批量下载网站文件]
自己写脚本批量下载电子书原创 2013-07-15 23:52:41 · 6897 阅读 · 2 评论 -
[Python]_[初级]_[修改注册表-禁用WIN10的自动更新注册表部分]
场景我们在Windows上开发Python脚本时,需要读取系统设置或者判断某个软件是否安装,禁用自动更新等都需要对注册表进行修改,可以说非常常见。那么Python有什么模块可以修改注册表呢?说明Python3自带的winreg模块可以操作注册表,并不需要增加下载第三方模块。对于Python2用的是_winreg模块.Windows上凡是修改注册表都需要管理员模式,所以运行Pyt...原创 2020-04-04 22:45:17 · 655 阅读 · 0 评论