Windows Python程序重启(不同生活中的罪过)

我有一个非常奇怪的Python错误,甚至可能是解释器中的错误。
我最低限度复制代码看起来有点像以下内容:

from sys import stdout print "Starting" stdout.flush() from camera import py_SaperaCamera print "Imported" stdout.flush() cam = py_SaperaCamera.Camera() print "Constructed" stdout.flush() del cam print "Destructed" stdout.flush() 

我可以想到,这个计划的执行可能不会那么顺利。 事实上,我可以algorthimacally生成这么多! 以下提供了一些用于娱乐的内容,但请随时跳到下面的话题:

  1. 导入我的自定义Cython模块py_SaperaCamera
  2. 初始化或删除控制我的设备的对象的结果
  3. Segfaults,内存错误,被操作系统淘汰而被淘汰
  4. 减轻,停电,第二次到来。 随你!

如果以某种方式停止执行,我可能会很喜欢它,也许是一个段错误,一个来自boost的爱的信息:无论是要求我联系应用程序支持团队,即使它停止了,也不打印任何东西。 这将是恒星。

不,我得到以下输出:

 Starting Imported Constructed Starting Imported Constructed Starting Imported Constructed Starting Imported Constructed Starting Imported Constructed Starting Imported Constructed 

细心的读者会注意到,该程序似乎已经运行了6次,这是一个明确的标志。 所以我的问题是简单的说,我以前做了什么值得这样的事情呢?

为什么不注释掉cam = py_SaperaCamera.Camera() ? 然后你就会知道它是不是你的Camera类的实例化了。 这可能会缩小您的搜索范围。