【发布时间】:2011-06-11 04:22:16
【问题描述】:
这种情况已经发生了很多次,并且无法以任何方式解释这种行为。
我经常为一些快速任务编写快速 Python 脚本,这些任务通常是使用 Django 的 ORM 的行迭代。
示例:
from core.models import MyModel
ITEM_IDS = [...]
for index, item_id in enumerate(ITEM_IDS):
print index
if MyModel.objects.filter(serial=item_id).count():
do_something()
print index, item_id
有时脚本会无限期地在其中一次迭代中停止, 按 RETURN 快速恢复交互!!!
编辑:这发生在 Windows 上!
知道发生了什么吗? :)
【问题讨论】:
-
嗯,你在
do_something()做什么?它会在某个地方等待raw_input吗? -
操作系统和架构在这里可能是有用的知识。我会责怪 Windows :)
-
@Spacedman:它实际上是在 Windows 上运行的!!有什么想法吗?
-
打印后
sys.stdout.flush()会怎样? -
Windows 任务管理器是否会在发生这种情况时为您提供任何见解?任何其他过程像疯了一样旋转?您有多确定快速按 RETURN 是否可以解决问题?确定不只是巧合?你有多久没有尝试让它独自一人?您可以在 do_something() 中添加一些打印语句以更好地了解停止的位置吗?
标签: python sql sql-server windows django