Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python 执行系统命令

作者:只言片語中   发布日期:2025-11-17   浏览:23

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))

解释说明:

  1. 导入模块:我们使用 subprocess 模块来执行系统命令。该模块允许你生成新的进程、连接到它们的输入/输出/错误管道,并获取返回码。
  2. 定义函数run_system_command 函数接受一个命令字符串作为参数,并使用 subprocess.run 来执行该命令。
  3. 捕获输出subprocess.runstdoutstderr 参数用于捕获命令的标准输出和标准错误。check=True 会确保如果命令返回非零退出码,则抛出 CalledProcessError 异常。
  4. 处理异常:如果命令执行失败,捕获 CalledProcessError 并返回错误信息。
  5. 示例调用:根据操作系统选择不同的命令(dir 适用于 Windows,ls 适用于 Linux 和 Mac),并打印命令的输出。

希望这段代码和解释对你有帮助!

上一篇:python或与非

下一篇:jupyter查看python版本

大家都在看

python时间格式

python读取文件路径

staticmethod在python中有

python开发windows应用程序

python中len是什么意思

python ord和chr

python中的yield

python自定义异常

python判断路径是否存在

python list.pop

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站