我正在调用这样的函数:
classifier = NaiveBayesClassifier.train(training_set)
我想在train()
函数中调试代码。问题是,如果我添加print
语句或pdb
来电,则无需更改。
我正在导入此内容:
from nltk.classify.naivebayes import NaiveBayesClassifier
但即使我改变了nltk/classify/naivebayes.py
中的某些内容,也没有任何反应。我也可以删除这个文件的所有内容,我仍然有一个工作输出。所以我认为我调用的函数是在其他地方,但我找不到它。
有没有办法检查函数调用的实际位置?我很困惑。
答案 0 :(得分:1)
使用pdb进入函数。
在使用火车方法之前,请先使用pdb.set_trace()
。
像这样的东西
import pdb; pdb.set_trace()
classifier = NaiveBayesClassifier.train(training_set)
调试时。停在你叫火车方法的那一行。
按s
进入功能。这将带您进入火车功能。从那里你可以正常调试。