
想要在树莓派上利用Python调用系统命令,最直接的方法就是使用os.system()函数。例如,下面的代码行就可以打开记事本程序:
import os
os.system('calc')
对于需要更复杂操作,比如处理输入输出的情况,可以采用subprocess模块。这个模块提供了比os.system()更强大的功能,包括能够捕获命令的标准输出和标准错误输出,以及更灵活的进程控制。
比如,下面这段代码展示了如何使用subprocess模块执行一个命令并获取其输出:
import subprocess
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
print(result.stdout)
这段代码执行了ls -l命令,列出了当前目录下的文件详细信息,并将输出存储在result.stdout中,最后打印出来。
使用subprocess模块还可以实现更复杂的流程控制,例如,可以通过subprocess.Popen来启动一个子进程,并能够对其输入和输出进行更细粒度的控制。
此外,subprocess模块还提供了call和check_output等函数,分别用于执行命令并等待其完成,以及执行命令并获取其输出。这对于自动化脚本编写非常有用。
总之,os.system()和subprocess都是在Python中调用系统命令的有效工具,根据具体需求选择合适的工具可以大大提高程序的灵活性和功能。