他山之石

何为他山之石,就是借助外界工具,来实现自己想要的功能。

命令行界面软件, 即各种命令,我们也叫命令行工具,

此类工具也是测试人员或者开发人员常用的工具的一种。

测试人员可以借助这类工具,快速实现数据处理,

比如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种方式,难度逐步提高,可以在实际工作中尝试使用。

table.dataframe {
font-family: verdana,arial,sans-serif;
font-size:13px;
color:#333333;
border-width: 1px;
border-color: #999999;
border-collapse: collapse;
width:80%;
white-space:nowrap;
}
table.dataframe th {
background-color:#c3dde0;
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
text-align:center;
}
table.dataframe tr {
background-color:whit;
}
table.dataframe td {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
text-align:left;
white-space:nowrap;

}

推荐进阶 函数 优点 适用场景
第一阶段 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

也可关注“武散人”微信订阅号,随时接受文章推送。

《自拍教程17》Python调用命令的更多相关文章

  1. (21) 树莓派使用python调用命令行 python中调用linux命令及os.system的返回值

    cmd = "sudo shutdown -h now"; os.system(cmd)

  2. python 调用 shell 命令方法

    python调用shell命令方法 1.os.system(cmd) 缺点:不能获取返回值 2.os.popen(cmd) 要得到命令的输出内容,只需再调用下read()或readlines()等   ...

  3. python cmd命令调用

    关于python调用cmd命令: 主要介绍两种方式: 1.python的OS模块. OS模块调用CMD命令有两种方式:os.popen(),os.system(). 都是用当前进程来调用. os.sy ...

  4. python 调用shell命令三种方法

    #!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器: #!/usr/bin/env python这种用法是为了防止操作系统用户没有将pyth ...

  5. python 调用 shell 命令

    记录 python 调用 shell 命令的方法 加载 os 模块, 使用 os 类 import os; os.system("ls /");

  6. Python调用7zip命令实现文件批量解压

    Python调用7zip命令实现文件批量解压 1.输入压缩文件所在的路径 2.可以在代码中修改解压到的文件路径和所需要解压的类型,列入,解压文件夹下面所有的mp4格式的文件 3.cmd 指的就是Pyt ...

  7. python教程(一)·命令行基本操作

    先来了解下 "命令提示符". 等等?!既然本篇文章标题是"命令行基本操作",那怎么又说到"命令提示符"去了呢?客官莫要急,且听我说 命令提示 ...

  8. Python全栈 MySQL 数据库(SQL命令大全、MySQL 、Python调用)

    为了梦想与了信仰    开局一张图   主要三个方面: 1.Linux终端命令 2.MySQL语句 3.Python调用   先删库 再跑路.....                         ...

  9. python调用top命令获得CPU利用率

    1.python调用top命令获得CPU利用率 思路:通过python调用top命令获取cpu使用率 #python2代码 [root@zdops-server script]# cat cpu_lo ...

随机推荐

  1. Linux上的Tomcat地址映射,且404错误解决

    问题:现在想要加一个下载文件功能,但是文件地址不在tomcat的webapps下,需要通过地址映射到tomcat下面再通过链接执行下载文件功能. 解决方法有两种: 方法一: 用方法一的前提是不用启动服 ...

  2. MySQL/数据库 知识点总结

    书籍推荐 <SQL基础教程(第2版)> (入门级) <高性能MySQL : 第3版> (进阶) 文字教程推荐 SQL Tutorial (SQL语句学习,英文).SQL Tut ...

  3. 《C# 爬虫 破境之道》:第一境 爬虫原理 — 第二节:WebRequest

    本节主要来介绍一下,在C#中制造爬虫,最为常见.常用.实用的基础类 ------ WebRequest.WebResponse. 先来看一个示例 [1.2.1]: using System; usin ...

  4. SqlServer分页存储过程(多表查询,多条件排序),Repeater控件呈现数据以及分页

        存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出 ...

  5. python接口自动化中,注册接口随机生成手机号码

    如大家所知在注册接口中,手机号参数需要的是未注册的手机号,而在测试用例中,你写入的手机号不一定是未注册的.所以这时需要对注册接口中传入的手机号做处理.下面我就分享一个课程里面学到的一个处理手机号的py ...

  6. [bzoj2120] [洛谷P1903] 数颜色

    Description 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨墨会像你发布如下指令: 1. Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同颜 ...

  7. javaWeb传收参数方式总结

    有时候,我真会被传参搞得头晕,这样传要怎么接收,那样传又要怎么接收? get可以json吗?什么是json方式提交?等等问题,已困扰我许久 所以,在此想做个总结,整理一下思绪,不再为传收参烦恼!如有错 ...

  8. Python赋值没有返回值+笔试

    >>> def test(): i = 1 return i=2 SyntaxError: invalid syntax 原因是python 中赋值语句没有返回值,这里不是C++

  9. 数据结构与算法 --- js描述栈

    js描述栈及栈的使用 栈的特性就是只能通过一端访问,这一段就是叫做栈顶.咖啡馆内的一摞盘子就是最形象的栈的例子: 根据栈的特性,就可以定义栈的一些特殊属性和方法;用js的描述栈的时候底层数据结构用的是 ...

  10. Oracle数据库、实例、用户、表空间、表之间的关系

    完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等): 2) Oracle数据库实例则是一组Ora ...