当我们使用Python开发程序时,有时需要执行一些操作系统级别的命令,并获取命令执行的结果。比如执行一些DOS和Linux命令。那么,在Python中我们该如何执行DOS和Linux命令呢?本文将从以下几个方面详细讲解Python执行DOS和Linux命令的方法。
使用os模块
Python提供了os模块,可以很方便地执行DOS和Linux命令。
执行DOS命令
通过Python执行DOS命令的方式有多种,这里我们演示一种常用方式,在Windows上执行简单的DOS命令。
import os
result = os.system('dir')
print(result)
上述代码中,os.system('dir')
函数执行系统的dir
命令,result
变量获取指令执行的返回值,输出结果为0,表示执行成功。这里举例演示的是在Windows系统上执行dir
命令,如果你在Linux或OS X上,可以将dir
改为对应的命令。
执行Linux命令
在Linux系统上执行命令与DOS有所不同,可以使用subprocess
模块的Popen
函数执行系统命令。该函数会创建一个新的进程,在该进程下执行指定的命令。
import subprocess
result = subprocess.Popen('ls', stdout=subprocess.PIPE)
out, err = result.communicate()
print(out.decode('utf-8'))
上述代码中,使用subprocess.Popen
函数创建了一个新进程来执行ls
命令,stdout=subprocess.PIPE
参数将输出结果输出到子进程的标准输出,communicate()
函数获取输出结果并返回out
和err
两个变量。最后使用out.decode('utf-8')
将输出结果从二进制格式转换为字符串输出。
使用shell模块
Python中可以使用shell
模块执行DOS和Linux命令。
import shell
result = shell.run('ls')
print(result.stdout)
上述代码中,shell.run()
函数可以执行DOS和Linux命令,ls
命令会列出当前目录下的所有文件,返回的result
对象包含了执行结果的所有信息。最后,使用print(result.stdout)
输出命令执行结果。
下面再举个例子,如果我们需要在Linux系统上创建一个名为test.txt
的文件,可以使用下面的代码。
import shell
command = 'touch test.txt'
result = shell.run(command)
if result.returncode == 0:
print('文件创建成功')
else:
print('文件创建失败')
上述代码中,使用touch
命令创建文件。如果文件创建成功,命令的执行返回值为0,可以通过result.returncode
获取到命令的返回值,输出结果可以分别为文件创建成功
或者文件创建失败
。
通过上述方法,我们可以方便地在Python中执行DOS和Linux命令,并获取命令执行的结果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python执行dos和Linux命令的方法详解 - Python技术站