python调用外部程序的实操步骤

当我们需要在 Python 中执行一些本地系统的运行程序时,可以使用 Python 内置的 subprocess 模块进行调用。

以下是调用外部程序的实际步骤:

1.导入 subprocess 模块:

python
import subprocess

2.指定需要调用的外部程序的路径以及执行的参数:

python
cmd = ['program_path', 'arg1', 'arg2', 'arg3']

其中,'program_path' 表示外部程序的路径,'arg1', 'arg2', 'arg3' 表示需要传递给外部程序的参数。

3.使用 subprocess.Popen() 函数执行外部程序:

python
result = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

Popen() 中的 stdout 和 stderr 参数分别表示标准输出和标准错误输出,这里我选择将它们当做管道。

4.通过 result.stdout 或 result.stderr 读取输出结果:

python
output, err = result.communicate()

这里使用 communicate() 方法获取标准输出和标准错误输出,以便后续操作。

下面是两个调用外部程序的示例。

  • 示例1:在 Python 中执行 Linux 命令 'ls -l',并将结果输出到控制台

我们可以使用 Linux 命令 'ls -l' 来列出当前目录下的所有文件和文件夹的详细信息,下面是调用该命令的代码示例:

```python
import subprocess

cmd = ['ls', '-l']
result = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, err = result.communicate()

print(output.decode())
```

运行输出:

total 8
drwxr-xr-x 5 user staff 160 Sep 1 12:34 folder
-rw-r--r-- 1 user staff 62 Sep 1 12:34 file1.txt
-rw-r--r-- 1 user staff 76 Sep 1 12:34 file2.txt

  • 示例2:在 Python 中调用 ffmpeg 实现视频剪切

我们可以使用 ffmpeg 命令来对视频进行剪辑编辑,下面是通过 python 调用 ffmpeg 完成视频剪辑的代码示例:

```python
import subprocess

# 视频剪辑的命令
cmd = ['ffmpeg','-i','input_video.mp4', '-ss', '00:00:02','-t', '00:00:10','-c:v', 'copy','-c:a', 'copy', 'output_video.mp4']
result = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, err = result.communicate()

print("剪辑完成!")
```

该示例中,剪辑命令对应的参数和参数含义如下:

  • -i: 输入视频文件名
  • -ss: 开始时间,格式为 HH:MM:SS
  • -t: 结束时间,格式为 HH:MM:SS
  • -c:v copy: 编码器和视频数据直接复制,无需重新编码
  • -c:a copy: 编码器和音频数据直接复制,无需重新编码
  • output_video.mp4: 输出视频文件名

运行输出:

剪辑完成!

以上就是调用外部程序的实际步骤和两个示例的详细说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python调用外部程序的实操步骤 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • Python使用requests发送POST请求实例代码

    以下是关于Python使用requests发送POST请求的攻略: Python使用requests发送POST请求 在Python中,使用requests库发送POST请求非常简单。以下是Python使用requests发送POST请求的攻略。 发送JSON格式数据 使用requests库发送JSON格式数据的POST请求非常简单,以下是发送JSON格式数…

    python 2023年5月14日
    00
  • python 命令行传入参数实现解析

    Python命令行传入参数可以通过解析sys.argv来实现。sys.argv是一个列表,其中第一个元素是程序本身的名称,第二个元素开始就是命令行传入的参数。可以通过在命令行中使用”python 文件名.py 参数1 参数2 参数3…“的方式来传入参数。 示例一 以下是一个简单的例子,假设我们要通过命令行传入两个参数,然后打印出这两个参数。 import…

    python 2023年6月3日
    00
  • Python实现替换文件中指定内容的方法

    下面是Python实现替换文件中指定内容的方法的完整攻略。 一、需求背景 有时候我们需要在一个文件中替换指定的字符串,比如我们需要把文件中的”a”字符串替换成”b”字符串。Python提供了操作文件的API,可以用Python来实现这个需求。 二、操作步骤 1.打开文件 使用Python的内置函数open()打开文件,并指定打开文件的模式为”r”,表示只读模…

    python 2023年6月5日
    00
  • python psutil库安装教程

    Python Psutil库安装教程 Python Psutil库是一款python系统信息获取工具,可以获取系统CPU、内存、磁盘IO等信息,也可以进行进程管理与控制。本篇教程将介绍Psutil库的安装方法。 环境准备 在安装Psutil库之前,需要先安装好Python环境。可以到Python官网(https://www.python.org/)下载并安装…

    python 2023年5月14日
    00
  • 详解Python 单子的其他特性

    下面给出Python中单例模式的完整攻略。 什么是单例模式 单例是一种创建型设计模式,用于确保一个类只有一个对象。这个类提供了这个唯一的对象的访问点,以便任何用户都可以方便地访问这个实例。 Python单例模式的实现 Python的单例模式可以通过各种方式来实现,下面介绍其中两种: 方式一:使用装饰器实现 通过装饰器的方式实现单例模式,代码如下: def s…

    python-answer 2023年3月25日
    00
  • python使用requests实现发送带文件请求功能

    以下是关于Python使用requests实现发送带文件请求功能的攻略: Python使用requests实现发送带文件请求功能 requests是一个流行的HTTP库,用于向Web服务器发送HTTP请求和接收响应。以下是Python使用requests实现发送带文件请求功能的攻略: 发送带有文件的HTTP请求 以下是使用requests库发送带有文件的HT…

    python 2023年5月14日
    00
  • 解决pycharm界面不能显示中文的问题

    下面是“解决PyCharm界面不能显示中文的问题”的完整攻略。 问题背景 在使用PyCharm时,界面不能显示中文,这会影响代码编写以及调试等操作,解决这个问题是非常必要的。 原因分析 在Windows操作系统下,PyCharm默认使用GBK编码来显示中文,而大部分中文系统都采用的是UTF-8编码方式。因此,如果PyCharm界面显示中文出现问题,很有可能是…

    python 2023年5月20日
    00
  • python之列表推导式的用法

    Python之列表推导式的用法 在Python中,列表推导式是一种简洁而强大的语法,可以快速地生成一个新的列表。本文将详细讲解列表推的用法,包括语法、示例和注意事项。 语法 列表推导式的语法如下: [expression for iterable if condition] 其中,expression是一个表达式,item是一个变量,iterable是一个可…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部