Skip to main content

操作来自可执行文件的返回码

项目描述

受成功返回 1 的程序的启发,exesexe 允许您包装
对可执行文件的调用并有选择地覆盖其返回代码。例如,这允许您
将异常安装程序与配置管理
软件一起使用,该软件期望程序在成功时返回 0。

exesexe 将使用它接收到的第一个参数作为自己的指令,但所有
其他参数将不加修改地执行。该指令是一个
逗号分隔的列表,其中每个段可能具有以下形式之一:

```
1 白名单 1(转换为 0)
-1=2 用 2 替换 -1
5:8=9 替换 5、6、7 , 和 8 和 9
!1 黑名单 1 (根本不转换 1;将其他所有内容转换为 0)
*=3 用 3
```替换所有其他的

例子:
* `1,-1,2=3`
* 将 1 和 -1 转换为 0。
* 将 2 转换为 3。

* `!2`
* 不要转换 2 .
* 将其他所有内容转换为 0。

* `!-4=2`
* 不要转换 -4。
* 将其他所有内容转换为 2。

* `*=10`
* 无论如何都返回 10。

优先顺序是白名单、特定替换、黑名单,
然后是 *-替换,因此 `*=4,1=2,!3` 会将 1 转换为 2 而不是 4 或 0。
词汇顺序仅对重叠段很重要,例如`1=0,1=2`,
其中最右边的段覆盖左边的段。

假设您要运行可执行文件 `foo`。您可以发出以下任何一个:

```
exesexe 1 foo # 如果 foo 返回 1 则返回 0
exesexe 3=4 foo # 如果 foo 返回 3
exesexe *=0 foo # 总是返回 0
exesexe !2 foo # 如果 foo 则返回 0不返回 2
exesexe !2,3=4 foo # 如果 foo 返回 3,则返回 4;
# 否则,如果 foo 不返回 2,则返回 0;
# else, 传回 foo 的真实返回码
```你也可以使用exesexe

作为库:解释( “foo --bar”, 白名单=[1],







黑名单=[2],
替换={3:4,“*”:1}

```


项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

内置分布

exesexe-1.0.1-py2.py3-none-any.whl (5.9 kB 查看哈希

已上传 py2 py3