欢迎访问宙启技术站
智能推送

如何在Python中使用run()命令行执行系统命令

发布时间:2024-01-18 18:23:54

在Python中,可以使用os模块或subprocess模块来执行系统命令。其中,subprocess模块提供了更多的功能和灵活性。

下面是使用subprocess模块执行系统命令的示例代码:

import subprocess

# 单个命令字符串
command = "ls -l"
# 执行系统命令
result = subprocess.run(command, shell=True, capture_output=True, text=True)
# 打印命令输出
print(result.stdout)

# 多个命令字符串
commands = ["echo Hello", "dir"]
# 逐个执行系统命令
for command in commands:
    subprocess.run(command, shell=True)

在上面的示例中,我们首先定义了一个单个命令字符串"ls -l",然后使用subprocess.run()函数执行了该系统命令。run()函数的 个参数是要执行的命令字符串,shell=True表示要在系统shell中运行命令,capture_output=True表示将命令的输出捕捉到结果中,text=True表示将输出结果以文本形式返回。run()函数返回一个CompletedProcess对象,我们可以从该对象的stdout属性中获取命令的输出结果,然后将结果打印出来。

接下来,我们定义了一个多个命令字符串的列表commands,并使用subprocess.run()函数逐个执行这些系统命令。通过循环遍历列表元素,我们可以逐个执行命令,并将命令的输出结果打印出来。

除了subprocess.run()函数,subprocess模块还提供了其他用于执行系统命令的函数,比如subprocess.call()subprocess.check_output()等。这些函数的使用方式类似,只是对于命令的处理和返回结果的格式略有不同,可以根据实际需求选择使用。

除了subprocess模块,Python的os模块也提供了一些执行系统命令的函数,比如os.system()os.popen()等。这些函数的使用方式也类似,但相对于subprocess模块,功能较为简单,建议使用subprocess模块进行系统命令的执行。

总结:使用subprocess模块的run()函数可以在Python中执行系统命令。通过设置参数来控制命令的执行方式和获取命令的输出结果。根据实际需求,选择合适的函数和参数来执行系统命令,并处理命令的输出结果。同时,注意使用subprocess模块可以防止命令注入等安全问题。