老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

【Python培训】Python执行系统命令常用的三种方法!

老男孩IT教育

行业新闻

2022年9月20日 15:22

Python因为具有简单易学、通俗易懂、可移植性、跨平台等特点,在最近几年快速崛起,不仅吸引了众多学习者,Python人才也成为各大企业抢夺的对象。而想要成为一名优秀的Python工程师,我们需要具备扎实的技术能力,那么你知道Python执行系统命令常用的方法有哪些吗?本文为大家介绍Python执行系统命令常用的三种方法,快来学习一下吧。

  Python因为具有简单易学、通俗易懂、可移植性、跨平台等特点,在最近几年快速崛起,不仅吸引了众多学习者,Python人才也成为各大企业抢夺的对象。而想要成为一名优秀的Python工程师,我们需要具备扎实的技术能力,那么你知道Python执行系统命令常用的方法有哪些吗?本文为大家介绍Python执行系统命令常用的三种方法,快来学习一下吧。

Python开发课程

  作为胶水语言,Python可以很方便地执行系统命令,从而帮助我们快速的完成任务;而且Python执行系统命令可采用的方法有很多,本文重点介绍一下:os.system()、os.popen()和subprocess模块。

  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
<open file 'cat /proc/cpuinfo', mode 'r' at 0x7ff52d831540>
>>> print output.read()
processor : 0
vendor_id : AuthenticAMD
cpu family : 21
... ...
>>><span style="font-size:14px;">

  3. subprocess模块

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

>>> import subprocess
>>> subprocess.Popen(["ls", "-l"]) <strong> # python2.x</strong> doesn't capture output
>>> subprocess.run(["ls", "-l"])  <strong># python3.x</strong> doesn't capture output
<subprocess.Popen object at 0x7ff52d7ee490>
>>> 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
... ...
>>>

  老男孩教育是Python培训领域的专家,2012年就开展了Python培训,是行业较早的Python培训机构,积累了大量的Python培训教学经验,并能全局把控企业用人指标,科学的制定Python教学课程体系,满足5-8年职业生涯需求,让学员轻松拿下高薪职位!

  推荐阅读:

  精心整理的8道Python经典面试题合集!老男孩Python学习班

  Python中如何输出换行?老男孩Python培训学校

  【推荐】Python超级好用的装饰器!老男孩Python学习班

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。