企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
| subprocess模块 | 内置模块 | | --- | --- | | 模块介绍 | subprocess模块是python从2.4版本开始引入的模块。主要用来取代 一些旧的模块方法,如os.system、os.spawn*、os.popen*、commands.*等。subprocess通过子进程来执行外部指令,并通过input/output/error管道,获取子进程的执行的返回信息 | ``` * [subprocess.call(['df', '-hT'], shell=False)] [执行命令,并返回执行状态] * @param [['df', '-hT']] [需要执行的命令] * @param [shell=False] [为False时,命令需要通过列表的方式传入,当shell为True时,可直接传入命令] * @return [返回执行状态] * Example >>> a = subprocess.call(['df','-hT'],shell=False) Filesystem Type Size Used Avail Use% Mounted on /dev/sda2 ext4 94G 64G 26G 72% / tmpfs tmpfs 2.8G 0 2.8G 0% /dev/shm /dev/sda1 ext4 976M 56M 853M 7% /boot >>> a = subprocess.call('df -hT',shell=True) Filesystem Type Size Used Avail Use% Mounted on /dev/sda2 ext4 94G 64G 26G 72% / tmpfs tmpfs 2.8G 0 2.8G 0% /dev/shm /dev/sda1 ext4 976M 56M 853M 7% /boot >>> print a0 ``` ``` * [subprocess.check_call('df', '-hT', shell=False)] [用法与subprocess.call()类似,区别是,当返回值不为0时,直接抛出异常] * @param ['df', '-hT'] [需要执行的命令] * @param [shell=False] [为False时,命令需要通过列表的方式传入,当shell为True时,可直接传入命令] * @return [返回执行状态] * Example >>> a = subprocess.check_call('df -hT',shell=True) Filesystem Type Size Used Avail Use% Mounted on /dev/sda2 ext4 94G 64G 26G 72% / tmpfs tmpfs 2.8G 0 2.8G 0% /dev/shm /dev/sda1 ext4 976M 56M 853M 7% /boot >>> print a >>> a = subprocess.check_call('dfdsf',shell=True) /bin/sh: dfdsf: command not found Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib64/python2.6/subprocess.py", line 502, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command 'dfdsf' returned non-zero exit status 127 ```