Python中如何使用commands模块执行系统命令并获取执行时间
发布时间:2024-01-16 17:59:40
在Python中,可以使用subprocess模块来执行系统命令,并使用time模块来计算执行时间。subprocess模块提供了多种函数来执行和管理子进程。以下是使用subprocess和time模块来执行系统命令并获取执行时间的示例:
import subprocess
import time
# 定义要执行的系统命令
command = "ls -l"
# 使用subprocess模块执行系统命令并获取执行时间
start_time = time.time()
output = subprocess.check_output(command, shell=True)
end_time = time.time()
execution_time = end_time - start_time
# 打印结果
print("执行命令 '{}' 的输出为:".format(command))
print(output.decode())
print("执行时间:{} 秒".format(execution_time))
在上面的示例中,首先定义了要执行的系统命令ls -l。然后,使用time模块中的time()函数获取当前时间作为开始时间。接下来,使用subprocess模块中的check_output()函数执行系统命令,并将返回的结果存储在output变量中。最后,再次使用time()函数获取当前时间作为结束时间,并计算执行时间。最后,打印执行命令的输出和执行时间。
在实际使用过程中,可以根据需要自定义要执行的系统命令,并根据自己的需求处理输出结果。例如,可以将输出保存到文件中、对输出进行拆分和处理等等。
需要注意的是,在使用subprocess模块执行系统命令时,应该谨慎处理输入参数,以防止命令注入攻击。可以使用shlex.quote()函数对参数进行转义,以确保输入的安全性。
