我编写了一个程序,它使用了很多第三方库,然后我发现在程序执行期间,它一直打印出foo
。有什么方法可以跟踪哪个第三方库打印出这个foo
?
由于它是企业代码,我无法在此处发布我的代码。
答案 0 :(得分:0)
如果要通过命令行在每个文件中搜索特定单词: https://askubuntu.com/questions/39200/how-to-search-for-files-containing-specific-word
如果它被上传到允许你在整个存储库中搜索单词的git存储库,比如在GitHub或GitLab中,那么就这样做。
答案 1 :(得分:0)
我不确定这是否会有效,因为我测试的规模非常小,但如果在主程序的顶部覆盖内置打印件,您可能会得到您要求的内容为:
<强> mymain.py 强>
import inspect
import builtins
myprint = builtins.print
def print(*args, **kwargs):
curframe = inspect.currentframe()
calframe = inspect.getouterframes(curframe, 2)
myprint(calframe[1][1],':',*args, **kwargs)
builtins.print = print
import modulea
print('Hi')
modulea.myfunc()
<强> modulea.py 强>
import moduleb
moduleb.myfunc()
def myfunc():
print("HI")
<强> moduleb.py 强>
def myfunc():
print("HI")
在IDLE中运行 mymain.py 会产生以下输出:
C:\ Users \ ######### \ Desktop \ New folder \ moduleb.py:HI
C:\ Users \ ######### \ Desktop \ New folder \ mymain.py:嗨
C:\ Users \ ######### \ Desktop \ New folder \ modulea.py:HI