我之前有一个巨大的代码库,我有一个名字" foobar"得到了。
我不清楚这个文件的读取位置。
我的想法如何解决这个问题:
如果具有给定名称的文件被打开,如何让解释器引发异常?
我确信我搜索的地方是纯python,而不是c-extension。
我使用Python 2.7
答案 0 :(得分:16)
你可以覆盖(shadow)内置的open函数。在主模块中添加:
import __builtin__
open_file = __builtin__.open
def fake_open(filename, *args, **kwargs):
if filename == 'foobar':
raise Exception('foobar filename')
else:
return open_file(filename, *args, **kwargs)
__builtin__.open = fake_open