黑客python代码

黑客python代码,python,exception,monkeypatching,Python,Exception,Monkeypatching,我一直听说python是一种对猴子补丁友好的语言。。。好吧,现在我需要猴子补丁,不知道该怎么办 我特别需要禁用“引发”解析异常,以查看iso解析库是否正常工作。这并不是那么简单,因为我使用libmirage(一个cdemu,一个cd模拟器底层库)来处理任何类型的mode2 form 1或mixed的第一个磁道,就像iso一样,以便iso解析器库pycdlib可以读取它 除了…我正在测试的redump集合中的一些psx CD在pycdlib中的解析过程中引发异常外,这几乎是完美的,因为存在各种解析

我一直听说python是一种对猴子补丁友好的语言。。。好吧,现在我需要猴子补丁,不知道该怎么办

我特别需要禁用“引发”解析异常,以查看iso解析库是否正常工作。这并不是那么简单,因为我使用libmirage(一个cdemu,一个cd模拟器底层库)来处理任何类型的mode2 form 1或mixed的第一个磁道,就像iso一样,以便iso解析器库pycdlib可以读取它

除了…我正在测试的redump集合中的一些psx CD在pycdlib中的解析过程中引发异常外,这几乎是完美的,因为存在各种解析错误:

PyCdlibInvalidISO: data in 3rd unused field not zero
\

\

等等

我真正想要的是在解析过程中禁用异常的引发,因为我要查找的信息与iso验证没有多大关系-基本上是单个txt文件中的序列-而且这些iso无论如何都要经过redump的审查


有没有办法不用自己导入和编辑库就可以做到这一点呢?

既然没有fork就没有办法做到这一点,我想最好的办法是用git克隆repo并使用pip-e~/fork安装一个修改过的版本(或者干脆把repo复制到本地dir,因为它是纯python的)或者说服上游在解析过程中更加宽容


我两个都做了。

您不能只捕获异常?捕获它们会阻止pycdlib库代码中的解析继续(它会将它们抛出).我不控制库,否则我已经对它进行了黑客攻击。它是用github的pip安装的。最终我想将程序或脚本分发给其他人。你不能抑制raise。你需要从源代码中提取模块并直接修改它,也就是fork。
ValueError: year is out of range
PyCdlibInvalidISO: File structure version expected to be 1