在执行一些简单的脚本语言时,python的简单优势得到了体现。然而,也有一些多层任务的叠加,这需要我们借用shell来完成。本文整理了两种shell调用方法:system和popen()这两个函数在执行命令时也会被调用。让我们详细解释一下这两种方法。
1.os.system
将执行结果直接输出到终端,返回执行状态0或1。
该函数将启动子过程,在子过程中执行command,并返回command命令执行后的退出状态。如果command有执行内容,则将显示在标准输出中。这实际上是由C标准库函数system()实现的;
缺点:该函数在执行command命令时需要重新打开终端,并且command命令的执行结果无法保存;
实例
importos os.system('cd/')
2.os.popen()
打开与command过程之间的管道;这个函数的返回值是一个可以读写的文件对象(由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的方法有很多,课后可以了解一下。