《自拍教程17》Python调用命令
他山之石
何为他山之石,就是借助外界工具,来实现自己想要的功能。
命令行界面软件, 即各种命令,我们也叫命令行工具,
此类工具也是测试人员或者开发人员常用的工具的一种。
测试人员可以借助这类工具,快速实现数据处理,
比如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调用命令的更多相关文章
- (21) 树莓派使用python调用命令行 python中调用linux命令及os.system的返回值
cmd = "sudo shutdown -h now"; os.system(cmd)
- python 调用 shell 命令方法
python调用shell命令方法 1.os.system(cmd) 缺点:不能获取返回值 2.os.popen(cmd) 要得到命令的输出内容,只需再调用下read()或readlines()等 ...
- python cmd命令调用
关于python调用cmd命令: 主要介绍两种方式: 1.python的OS模块. OS模块调用CMD命令有两种方式:os.popen(),os.system(). 都是用当前进程来调用. os.sy ...
- python 调用shell命令三种方法
#!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器: #!/usr/bin/env python这种用法是为了防止操作系统用户没有将pyth ...
- python 调用 shell 命令
记录 python 调用 shell 命令的方法 加载 os 模块, 使用 os 类 import os; os.system("ls /");
- Python调用7zip命令实现文件批量解压
Python调用7zip命令实现文件批量解压 1.输入压缩文件所在的路径 2.可以在代码中修改解压到的文件路径和所需要解压的类型,列入,解压文件夹下面所有的mp4格式的文件 3.cmd 指的就是Pyt ...
- python教程(一)·命令行基本操作
先来了解下 "命令提示符". 等等?!既然本篇文章标题是"命令行基本操作",那怎么又说到"命令提示符"去了呢?客官莫要急,且听我说 命令提示 ...
- Python全栈 MySQL 数据库(SQL命令大全、MySQL 、Python调用)
为了梦想与了信仰 开局一张图 主要三个方面: 1.Linux终端命令 2.MySQL语句 3.Python调用 先删库 再跑路..... ...
- python调用top命令获得CPU利用率
1.python调用top命令获得CPU利用率 思路:通过python调用top命令获取cpu使用率 #python2代码 [root@zdops-server script]# cat cpu_lo ...
随机推荐
- 编写SQL查询范围分区类型,MAX分区范围
需求 对于分区表,对于范围分区类型来说,查询MAX分区及对应的分区范围. ==查询分区表对应的最大分区信息 ==排除了自扩展分区(如果是自扩展分区,但是最大的分区不是自扩展的并未排除在外) ==排除了 ...
- 头条面试竟然问我maven
maven package和maven install 有什么区别? 你常用的maven命令有哪些? <dependencyManagement> 是干什么的? 还有用过其它构建工具吗? ...
- APICloud开发者进阶之路 |iOS修改entitlements文件
本文出自APICloud官方论坛, 感谢论坛版主 技术咨询-Kenny 的分享. 一.概述iOS原生开发中若要实现某些特殊功能,如使用HealthKit.实现Universal Links等.需要 ...
- dp-最长公共子序列(LCS)
字符序列 与 字符字串的区别 序列是可以不连续的字符串 , 字串必须要是连续的 . 问题描述 : 给定两串字符串 abcde 和 acdf , 找出 2 串中相同的字符序列,观察知 相同的字符序列为 ...
- 记录初试Netty(2)-服务端心跳检测
今天在在搭建的netty框架中添加心跳机制,特此记录一下: 1.什么是心跳机制? 心跳是在TCP长连接中,客户端和服务端定时向对方发送数据包通知对方自己还在线,保证连接的有效性的一种机制 在 ...
- 3种基础的 REST 安全机制
安全是 RESTful web service 的基石,我们主要讨论以下3种主要的方法: Basic authentication Oauth 2.0 Oauth 2.0 + JWT 1. Basic ...
- 「 从0到1学习微服务SpringCloud 」08 构建消息驱动微服务的框架 Spring Cloud Stream
系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...
- 团队第一次作业(软工C#造梦厂)
一.团队简介 a.团队名称:软工C#造梦厂 b.队员列表 姓名 学号 张旭(组长) 201731024123 周成杰 201731024136 邹扬锋 201731024134 赵俊安 2017310 ...
- swift开发度假计划app
用swift开发一个完整的度假地app,设计到布局.数据绑定.数据编辑.页面导航等:适合初学者: github:(git@github.com:Frankltf/ios-swift-app.git)
- JDBC的学习笔记-手动实现
JDBC是SUN公司提供的一套用于数据库操作的接口,Java程序员只需要面向这套接口编程即可.不同的数据库厂商,需要针对这套接口,提供不同实现. 使用JDBC的好处:1.程序员不需要关注不同数据库的细 ...