他山之石
何为他山之石,就是借助外界工具,来实现自己想要的功能。
命令行界面软件, 即各种命令,我们也叫命令行工具,
此类工具也是测试人员或者开发人员常用的工具的一种。
测试人员可以借助这类工具,快速实现数据处理,
比如Linux自带的wget命令(Windows这边需要自己去下载放到环境变量),
就可以实现下载文件的功能。
调用命令VS编写代码
初学编程的测试人员,编写代码,可能还会有些许难度。
比如通过requests模块, 下载一个文件的命令如下:
import requests url = "http://www.zipython.com/images/download_file/angel.mp3" r = requests.get(url) with open("angel.mp3", "wb") as hf: hf.write(r.content)
但是用wget这类命令,只需要以下2行代码。
import os os.system("wget http://www.zipython.com/images/download_file/angel.mp3")
对于初学者,尤其是用习惯了命令的人,
其实可以很快的通过os.system() 就可以调用很多很多的命令行工具软件,
进行数据处理, 所以我很建议, Python自动化测试的初学者 。
先别学着写代码,先学命令行的各类命令,
然后尝试用os.system()函数;
或者os.popen()函数;
或者subprocess.Popen()函数,
来调用命令,快速实现自己想要的功能。
调用命令行的3种方式:
以下3种方式,难度逐步提高,可以在实际工作中尝试使用。
推荐进阶 | 函数 | 优点 | 适用场景 |
---|---|---|---|
第一阶段 | os.system() | 简单地顺序执行, 阻塞式地必须等上一条执行完,才能执行下一条。 非常适合不需要返回内容的批处理。 |
适用于简单的Python批处脚本 |
第二阶段 | os.popen() | 可以获取具体被执行命令运行后的返回输出字符串。 output = os.popen("具体命令").read() |
适用于需要获取输出结果的 Python批处理脚本 |
第三阶段 | Subprocess.Popen() | 相对较复杂, 但是是Python最推荐的执行具体命令的模块。 其可以与被执行命令进行输入输出交互, 可以获取被执行命令运行后的输出字符串, 可以有很多设置项,比如timeout, shell模式等等。 复杂项目,非常推荐此方式进行调用其他命令。 |
适用于复杂的Python项目, 非常推荐此方式进行调用其他命令。 |
更多更好的原创文章,请访问官方网站:www.zipython.com
原文链接:https://www.zipython.com/#/detail?id=c6446953038644298762799638a1c3b7
来源:https://www.cnblogs.com/zipython/p/12350625.html