这不是很明显,但我发现如果我使用countfuncs
in 参数trace
,或者--listfuncs
如果我trace
从命令行使用参数,我会得到完整的路径名。因此,对于程序:
import trace
from recurse import recurse
tracer = trace.Trace(count=False, trace=True, countfuncs=True)
tracer.run('recurse(2)')
tracer.results().write_results()
...(使用 Doug Hellmann's example from here)我得到以下输出:
functions called:
filename: <string>, modulename: <string>, funcname: <module>
filename: C:\Python33\lib\encodings\cp850.py, modulename: cp850, funcname: IncrementalEncoder.encode
filename: C:\Python33\lib\trace.py, modulename: trace, funcname: _unsettrace
filename: C:\usr\sjl\dev\test\python\recurse.py, modulename: recurse, funcname: recurse
这不是您要查找的内容,因为您可以看到它忽略了跟踪代码行的指令,因此它没有在这些代码行旁边提供文件路径。但是,它确实可以准确地告诉您 Python 脚本正在使用哪些文件。