我们从Python开源项目中,提取了以下1个代码示例,用于说明如何使用past.builtins.execfile()。
def test_execfile(self): global numruns if numruns: return numruns += 1 globals = {'a': 1, 'b': 2} locals = {'b': 200, 'c': 300} self.assertEqual(self.__class__.z, 2) globals['z'] = 0 execfile(TESTFN, globals) self.assertEqual(globals['z'], 2) locals['z'] = 0 execfile(TESTFN, globals, locals) self.assertEqual(locals['z'], 2) # This test only works if we pass in a Mapping type. class M(dict): "Test mapping interface versus possible calls from execfile()." def __init__(self): self.z = 10 def __getitem__(self, key): if key == 'z': return self.z raise KeyError def __setitem__(self, key, value): if key == 'z': self.z = value return raise KeyError locals = M() locals['z'] = 0 execfile(TESTFN, globals, locals) self.assertEqual(locals['z'], 2) unlink(TESTFN) self.assertRaises(TypeError, execfile) self.assertRaises(TypeError, execfile, TESTFN, {}, ()) import os self.assertRaises(IOError, execfile, os.curdir) self.assertRaises(IOError, execfile, "I_dont_exist")