Skip to main content
 首页 » 编程设计

Python PDB 立即退出(标准输入)

2025年05月04日7zlslch

我目前正在为类编写 AI 作业,每次我尝试调试(使用 ipdb 或 pdb)时,pdb 都会立即关闭。该程序将 map 作为输入,现在我只是将文本文件通过管道输入并从标准输入中获取行。

python value_iteration.py < l_track.txt

这工作正常,但我认为它导致了 pdb.set_trace()关闭,有没有办法明确确保释放标准输入或其他东西?

当前 map 抓取代码段:

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 

请您参考如下方法:

我从来不知道如何解决这个问题,所以我转而使用文件名输入。