在Python中,我们可以使用subprocess模块来执行外部指令。subprocess模块提供了一个简单的接口,可以在Python中执行外部指令,并获取其输出。本文将为您提供一个完整攻略,详细讲解subprocess模块的用法,并提供两个示例说明。
1. subprocess模块的用法
subprocess模块提供了多个函数可以在Python中执行外部指令。以下是subprocess模块中常用的函数:
-
subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, capture_output=False, shell=False, cwd=None, timeout=None, check=False, encoding=None, errors=None, text=None, env=None, universal_newlines=None)
-
subprocess.call(args, *, stdin=None, stdout=None, stderr=None, shell=False, cwd=None, timeout=None)
-
subprocess.check_call(args, *, stdin=None, stdout=None, stderr=None, shell=False, cwd=None, timeout=None)
-
subprocess.check_output(args, *, stdin=None, stderr=None, shell=False, cwd=None, timeout=None)
这些函数的参数和返回值略有不同,但它们的基本用法都相似。以下是一个使用subprocess模块执行外部指令的示例:
import subprocess
result = subprocess.run(["ls", "-l"], capture_output=True, text=True)
print(result.stdout)
在上面的示例中,我们使用subprocess.run函数执行了一个外部指令。在run函数中,我们传递了一个包含指令和参数的列表,以及一些其他的参数。在本例中,我们执行了一个"ls -l"指令,并使用capture_output和text参数捕获了输出,并将其转换为字符串。最后,我们输出了指令的输出。
2. 示例一
以下是一个使用subprocess模块执行外部指令的示例,它可以在Python中执行一个简单的shell脚本:
import subprocess
result = subprocess.run(["sh", "script.sh"], capture_output=True, text=True)
print(result.stdout)
在上面的示例中,我们使用subprocess.run函数执行了一个shell脚本。在run函数中,我们传递了一个包含指令和参数的列表,以及一些其他的参数。在本例中,我们执行了一个"sh script.sh"指令,并使用capture_output和text参数捕获了输出,并将其转换为字符串。最后,我们输出了指令的输出。
3. 示例二
以下是一个使用subprocess模块执行外部指令的示例,它可以在Python中执行一个简单的C程序:
import subprocess
result = subprocess.run(["gcc", "program.c", "-o", "program"], capture_output=True, text=True)
if result.returncode == 0:
result = subprocess.run(["./program"], capture_output=True, text=True)
print(result.stdout)
else:
print(result.stderr)
在上面的示例中,我们使用subprocess.run函数编译并执行了一个C程序。在run函数中,我们传递了一个包含指令和参数的列表,以及一些其他的参数。在本例中,我们使用gcc编译了一个名为program.c的C程序,并将其输出到名为program的可执行文件中。然后,我们使用./program指令执行了该程序,并捕获了输出。如果编译成功,则输出程序输出;否则,输出编译错误信息。
总结
subprocess模块提供了多个函数,可以在Python中执行外部指令。通过使用subprocess模块,可以在Python中轻松地执行shell脚本和编译的程序等外部指令。本文详细讲解了subprocess模块的用法,并提供了两个示例说明,分别使用subprocess模块执行了一个简单的shell脚本和一个简单的C程序。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python常用外部指令执行代码实例 - Python技术站