Python PDB立即退出(stdin)

时间:2012-12-05 03:15:47

标签: python pdb

我正在为类编写AI分配,每次我尝试调试(使用ipdb或pdb)时,pdb立即关闭。程序将地图作为输入,现在我只是将文本文件输入并从stdin中获取行。

python value_iteration.py < l_track.txt

这样可以正常工作,但我认为这会导致pdb.set_trace()关闭,有没有办法明确确保stdin被释放还是什么?

当前地图抓取代码段:

def map_input():
...
control_line = sys.stdin.readline().rstrip('\n')
height, width = control_line.split(",")
height = int(height)
width = int(width)

print "Map:"
while row < height:
    for line in sys.stdin:
        create MDP from states
...
return mdp

然后:

def value_iteration(mdp, epsilon):
....
for state in mdp.states.keys():
     print mdp.actions[state]
     ipdborpdb.set_trace()
     utils_prime[state] = R(state) + gamma * max([
        sum([
           p * mdp.utilities[ns] for (p, ns) in T(state, a)
        ]) for a in mdp.actions[state]
     ])
     if abs(utils_prime[state] - mdp.utilities[state]) > delta:
        delta = abs(utils_prime[state] - mdp.utilities[state])
...
return mdp with utilities

1 个答案:

答案 0 :(得分:0)

我从来没有弄清楚如何解决这个问题,所以我转而使用文件名输入。