在大型python脚本中查找无效的多字节字符

在大型python脚本中查找无效的多字节字符,python,Python,我们公司正在为我们的linux机器从SLES11升级到SLES12,我的旧式python脚本有问题。它在SLES11机器上完美执行,但在SLES12机器上崩溃。我收到以下错误消息: Debug:./src/common/unichar.cpp(52):在FromHi8bit()中断言“assert failure”失败:无效的多字节字符 ./[executablename]第3行:70332分段错误(堆芯转储) 在我的源代码中,xxxxx包含无效的unicode字符时,是否会有一个u'xxxxx

我们公司正在为我们的linux机器从SLES11升级到SLES12,我的旧式python脚本有问题。它在SLES11机器上完美执行,但在SLES12机器上崩溃。我收到以下错误消息:

Debug:./src/common/unichar.cpp(52):在FromHi8bit()中断言“assert failure”失败:无效的多字节字符
./[executablename]第3行:70332分段错误(堆芯转储)

在我的源代码中,xxxxx包含无效的unicode字符时,是否会有一个u'xxxxx'呢?我如何找到它(无需手动检查每个unicode变量…)

是否有其他原因可能导致这种情况? 我们在这个脚本中使用Numpy和WX。 这段代码在Python2.7.16上运行(我不能使用python3,我们需要的库还没有添加到我们的机器中)


谢谢

为什么您认为这是由Python引起的?CPython代码库完全是用C编写的(没有
.cpp
文件),如果它试图加载编码无效的源文件,而不是转储核心,通常会引发异常。如果它在
.cpp
文件中消亡,则可能与您的某个扩展名有关。是否有方法确定导致此问题的扩展名?这个问题会在进口声明中引起吗?(即,我是否可以编写一些虚拟py文件,其中包含各种模块的导入语句)