起航学习网

- 让每个人都能学到最前沿新知识、新技能!
起航学习网
当前位置: 起航学习网 > 短期培训 > IT培训 > 如何用Python调用系统命令?老男孩Python入门

如何用Python调用系统命令?老男孩Python入门

时间:2020-10-21 11:17:23来源:未知 作者:老男孩教育 已有: 名学员访问该课程

  快捷搜索:

前言:移动互联网技术的快速发展,为各大行业都提供了发展机遇,在市场的影响之下,Python语言变得更加火爆,渗透到各大领域,现在很多开发工作都会使用到Python,不过进行Python开发搭建框架的时候,往往需要命令进行操作,那么你知道如何用Python调用系统命令吗?老男孩教育为大家介绍一下。 1. os.system()

移动互联网技术的快速发展,为各大行业都提供了发展机遇,在市场的影响之下,Python语言变得更加火爆,渗透到各大领域,现在很多开发工作都会使用到Python,不过进行Python开发搭建框架的时候,往往需要命令进行操作,那么你知道如何用Python调用系统命令吗?老男孩教育为大家介绍一下。

1. os.system()

这个方法直接调用标准C的system()函数,仅仅在一个子终端运行系统命令,而不能获取执行返回的信息。

>>> import os

>>> output = os.system(‘cat /proc/cpuinfo‘)

processor : 0

vendor_id : AuthenticAMD

cpu family : 21

... ...

>>> output # doesn‘t capture output

0

2. os.popen()

这个方法执行命令并返回执行后的信息对象,是通过一个管道文件将结果返回。

>>> output = os.popen(‘cat /proc/cpuinfo‘)

>>> output

>>> print output.read()

processor : 0

vendor_id : AuthenticAMD

cpu family : 21

... ...

>>>

3. commands模块

>>> import commands

>>> (status, output) = commands.getstatusoutput(‘cat /proc/cpuinfo‘)

>>> print output

processor : 0

vendor_id : AuthenticAMD

cpu family : 21

... ...

>>> print status

0

注意1:在类unix的系统下使用此方法返回的返回值(status)与脚本或命令执行之后的返回值不等,这是因为调用了os.wait()的缘故,具体原因就得去了解下系统wait()的实现了。需要正确的返回值(status),只需要对返回值进行右移8位操作就可以了。

注意2:当执行命令的参数或者返回中包含了中文文字,那么建议使用subprocess。

4. subprocess模块

该模块是一个功能强大的子进程管理模块,是替换os.system, os.spawn*等方法的一个模块。

>>> import subprocess

>>> subprocess.Popen(["ls", "-l"]) # python2.x doesn‘t capture output

>>> subprocess.run(["ls", "-l"]) # python3.x doesn‘t capture output

>>> total 68

drwxrwxr-x 3 xl xl 4096 Feb 8 05:00 com

drwxr-xr-x 2 xl xl 4096 Jan 21 02:58 Desktop

drwxr-xr-x 2 xl xl 4096 Jan 21 02:58 Documents

drwxr-xr-x 2 xl xl 4096 Jan 21 07:44 Downloads

... ...

>>>

来源地址:http://www.epx365.cn/peixun/it/202066344.html

来源标题:如何用Python调用系统命令?老男孩Python入门



免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉

(责任编辑:老男孩教育)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
培训学校
老男孩教育 访问该机构站点 报名留言 加为好友 用户等级:高级会员 用户级别:10 机构名称:老男孩教育 联 系 人:任女士 联系电话:18710030740 联系手机:18710030740 在线客服:起航学习网客服 在 线 QQ:起航学习网客服 电子邮件:768386696@qq.com 网站域名:https://www.oldboyedu.com/ 注册时间:2019-03-20 15:03 最后登录:2020-10-26 15:10