import subprocess
# 使用 subprocess 模块执行系统命令
def run_system_command(command):
try:
# 使用 subprocess.run 执行命令并捕获输出
result = subprocess.run(command, shell=True, check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
# 返回命令的输出,解码为字符串
return result.stdout.decode('utf-8')
except subprocess.CalledProcessError as e:
# 如果命令执行失败,返回错误信息
return f"Error: {e.stderr.decode('utf-8')}"
# 示例:执行 'dir' 命令(Windows)或 'ls' 命令(Linux/Mac)
if __name__ == "__main__":
command = "dir" if os.name == 'nt' else "ls"
print(run_system_command(command))
subprocess 模块来执行系统命令。该模块允许你生成新的进程、连接到它们的输入/输出/错误管道,并获取返回码。run_system_command 函数接受一个命令字符串作为参数,并使用 subprocess.run 来执行该命令。subprocess.run 的 stdout 和 stderr 参数用于捕获命令的标准输出和标准错误。check=True 会确保如果命令返回非零退出码,则抛出 CalledProcessError 异常。CalledProcessError 并返回错误信息。dir 适用于 Windows,ls 适用于 Linux 和 Mac),并打印命令的输出。希望这段代码和解释对你有帮助!
上一篇:python或与非
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站