Python脚本:执行系统命令并获取输出
发布时间:2023-12-04 22:44:45
在Python中,可以使用subprocess模块执行系统命令并获取输出。subprocess模块提供了一个叫做run()的函数,它可以执行系统命令,并返回命令的输出。
下面是一个例子,演示如何执行系统命令并获取输出:
import subprocess
# 执行系统命令
result = subprocess.run('ls', shell=True, capture_output=True, text=True)
# 打印命令的输出
print(result.stdout)
在这个例子中,我们使用了subprocess.run()函数来执行ls命令并获取输出。run()函数接受多个参数:第一个参数是要执行的命令,可以是字符串或命令列表;shell参数用来指定是否使用shell执行命令;capture_output参数用来指定是否捕获命令的输出;text参数用来指定以文本的形式返回输出。
run()函数返回一个CompletedProcess对象,其中的stdout属性包含了命令的输出。在上面的例子中,我们使用print(result.stdout)打印了命令的输出。
除了stdout属性以外,CompletedProcess对象还包含了其他属性,如stderr属性用于存储命令的错误输出,returncode属性用于存储命令的返回值。
下面是另一个例子,演示如何执行带有参数的系统命令并获取输出:
import subprocess # 执行带有参数的系统命令 result = subprocess.run(['ls', '-l'], capture_output=True, text=True) # 打印命令的输出 print(result.stdout)
在这个例子中,我们使用了一个命令列表['ls', '-l']来指定要执行的命令和参数。其他部分的使用方法和上面的例子相同。
值得注意的是,subprocess.run()在Python 3.5及以上版本中才可用。如果你使用的是旧版本的Python,可以考虑使用subprocess.Popen来执行系统命令并获取输出。
总结起来,使用subprocess模块可以方便地执行系统命令并获取输出。在实际的项目中,你可以根据需要执行各种各样的系统命令,并对命令的输出进行处理。
