我们在执行一些简单的脚本语言时,
python简单的优点就体现出来了。但是也有一些多层任务的叠加,需要我们借壳来完成。本文整理了shell调用的两种方法:system和popen(),这两个函数在执行命令时也会被调用。下面我们详细解释这两种方法。
1.os.system
直接在终端输出执行结果,返回执行状态0或者1。
该函数会启动子进程,在子进程中执行command,command命令执行完后返回退出状态。如果命令有执行内容,就会显示在标准输出上。这实际上是使用C标准库函数system();实现的;
缺点:该功能在执行command命令时需要重新打开一个terminal,不能保存command命令的执行结果;
实例
import os
os.system('cd /')
2.os.popen()
打开一个管道到命令进程;该函数的返回值是一个文件对象,可读可写(由mode决定,mode默认为'r')。如果mode为'r',则可以使用该函数的返回值调用read()获取command命令的执行结果。
os.system(cmd)或os.popen(cmd),前者的返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容。其实要看使用时的情况;
实例
subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None,
stderr=None, preexec_fn=None, close_fds=False, shell=False, cwd=None, env=None,
universal_newlines=False, startupinfo=None, creationflags=0)
以上就是python中shell的调用
,可以说这两种方式各有优缺点,大家在使用的时候可以根据自己的需要来选择。关于通话
shell的方法还有很多,大家可以在课外了解一下。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python字符串大小写转换的方法是什么12/26
- ♥ python控制语句的两类12/23
- ♥ python中的list方法是什么11/08
- ♥ Python进程的串行和并行10/28
- ♥ python如何手动安装库?10/10
- ♥ python中的迭代是什么意思08/22
内容反馈