Python API和命令行工具之间有什么区别?

Python API和命令行工具之间有什么区别?,python,Python,在基础设施管理的设备级集成方面,包括测试、状态工具 示例:我们可以很好地使用ping命令行工具来识别设备的可访问性,并在其周围有一个python脚本,或者有一个称为ping check的API(我现在还不理解)。API是否会反过来使用ping命令行工具?API是通过一些“调用约定”或“绑定”机制调用的代码。换句话说,代码有自己的(可能是半标准化的)调用方式。例如C调用约定(每个操作系统不同)、.NET、Python、REST等 命令行工具通过“exec”调用一些遵循操作系统惯例的二进制代码(例如

在基础设施管理的设备级集成方面,包括测试、状态工具


示例:我们可以很好地使用ping命令行工具来识别设备的可访问性,并在其周围有一个python脚本,或者有一个称为ping check的API(我现在还不理解)。API是否会反过来使用ping命令行工具?

API是通过一些“调用约定”或“绑定”机制调用的代码。换句话说,代码有自己的(可能是半标准化的)调用方式。例如C调用约定(每个操作系统不同)、.NET、Python、REST等

命令行工具通过“exec”调用一些遵循操作系统惯例的二进制代码(例如MachO、ELF、PE)。“exec”工具是将二进制代码从文件加载到内存中,并将指令指针设置到已知位置


通常,API通过“返回”机制生成各种类型的结果,这些类型可以是字符串、数组等。命令行工具通常通过写入文件生成结果,并发出数字返回代码以指示成功或失败。

API是应用程序编程接口的首字母缩写。而命令行工具是从命令行调用的任何东西

第一个是关于编程、函数、参数和返回值。是程序编写者和程序调用方之间的契约

第二个是关于一个使用文本作为用户界面的程序

第一个是关于编程契约、规范和模式的。这是一个界面

第二个是程序本身


如果以
ls
命令为例。/bin/ls二进制文件是一个命令行工具。
ls
使用的C
readdir
函数遵循或具有API

您认为
ping
命令是如何工作的?它只是由代码本身组成的。不,API很少用于运行命令行工具或实用程序。它们之间的区别在于,API是一个应用程序编程接口(通常是一个或多个库的一组类型声明和函数原型,旨在允许您从自己的代码中使用该功能),而命令行工具是从命令行启动的编译可执行文件。:-)在
ping
的特定情况下,库解决方案可能不会将
ping
命令作为子进程调用,而是直接发送ICMP回显数据包。