从可执行文件中操作返回代码
exesexe的Python项目详细描述
受成功时返回1的程序启发,exesexe允许您将调用包装到可执行文件,并有选择地重写其返回代码。这允许您,
例如,使用配置管理
软件的异常安装程序,希望程序成功时返回0。
exexexee将使用它接收到的第一个参数作为自己的指令,但所有
其他参数都将在不进行修改的情况下执行。指令是一个用逗号分隔的列表,其中每个段可以有以下形式之一:
````
1白名单1(转换为0)
-1=2替换-1替换为2
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”,
其中最右边的段覆盖左段。
BR/>假设要运行可执行的“FO”。您可以发出以下任何一个:
````
exesexe 1 foo如果foo返回1,则返回0
exesexe 3=4 foo如果foo返回3,则返回4
exesexe*=0 foo始终返回0
exesexexe!如果foo不返回2,则返回0!2,3=4foo;如果foo返回3,则返回4;
2,3=4“
exesexe.解释(
“foo--bar”,
白名单=[1],
黑名单=[2],
替换={3:4,“*”:1}
)
````
例如,使用配置管理
软件的异常安装程序,希望程序成功时返回0。
exexexee将使用它接收到的第一个参数作为自己的指令,但所有
其他参数都将在不进行修改的情况下执行。指令是一个用逗号分隔的列表,其中每个段可以有以下形式之一:
````
1白名单1(转换为0)
-1=2替换-1替换为2
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”,
其中最右边的段覆盖左段。
BR/>假设要运行可执行的“FO”。您可以发出以下任何一个:
````
exesexe 1 foo如果foo返回1,则返回0
exesexe 3=4 foo如果foo返回3,则返回4
exesexe*=0 foo始终返回0
exesexexe!如果foo不返回2,则返回0!2,3=4foo;如果foo返回3,则返回4;
2,3=4“
exesexe.解释(
“foo--bar”,
白名单=[1],
黑名单=[2],
替换={3:4,“*”:1}
)
````