登录  | 加入社区

黑狼游客您好!登录后享受更多精彩

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

查看: 811|回复: 0

​教程​|6种​Python​中实行shell下令的方法,你喜好那种? ...

[复制链接]

384

主题

4

帖子

0

现金

黑狼菜鸟

Rank: 1

积分
0
发表于 2018-10-10 08:35:38 | 显示全部楼层 |阅读模式 来自 江苏徐州
H7g337gVGWjJwZWu.jpg Python常常被称作“胶水语言”,由于它可以或许容易地操纵其他步伐,容易地包装利用其他语言编写的库。本日我们就解说此中的一个方面,用Python调用Shell下令。
用Python调用Shell下令有如下几种方式:

第一种:
os.system("The command you want").
这个调用相称直接,且是同步举行的,步伐必要壅闭并等候返回。返回值是依靠于体系的,直接返回体系的调用返回值,以是windows和linux是不一样的。
第二种:
os.popen(command[,mode[,bufsize]])
先给各人看个例子
IocAC6CZbwWpEPCc.jpg
可以看出,popen方法通过p.read获取终端输出,而且popen必要关闭close.当实行乐成时,close不返回任何值,失败时,close返回体系返回值. 可见它获取返回值的方式和os.system差别。
第三种,利用commands模块,同样看一组例子。
e1yOIUgyDOVLod8D.jpg
根据你必要的差别,commands模块有三个方法可供选择。getstatusoutput, getoutput, getstatus。
但是,如上三个方法都不是Python保举的方法,而且在Python3中此中两个已经消散。Python文档中现在尽力保举第四个方法,subprocess!
subprocess利用起来同样简朴:
DJ7B1Srku3BU7Ebk.jpg
直接调用下令,返回值便是体系返回。shell=True表现下令终极在shell中运行。Python文档中出于安全思量,不发起利用shell=True。发起利用Python库来取代shell下令,或利用pipe的一些功能做一些转义。官方的出发点是好的,不外至心贫苦了许多, so....
假如你更关注下令的终端输出,可以如许
WJ6Xl3uqCZt2T32b.jpg
同样很简朴。
实在另有两种方法没有讲:os.spawn* 和 popen2.*。它们也可以完成同样的使命,不外小编平常没有效过,就不献丑啦~~
kAAJyQ7yEyywtY1u.jpg




上一篇:一周学会PHP视频教程
下一篇:【视频分享】尚硅谷Java视频教程_Docker焦点技能
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

 

QQ|申请友链|小黑屋|手机版|Hlshell Inc. ( 豫ICP备16002110号-5 )

GMT+8, 2024-4-29 16:12 , Processed in 0.086724 second(s), 47 queries .

HLShell有权修改版权声明内容,如有任何爭議,HLShell將保留最終決定權!

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表