在第二种情况下,您将需要
import(不确定“ mainprogram.py”是否在您的上
$PYTHONPATH)
#mainprogram.pyclass mainprogram: def runme(self): execfile("my2ndscript.py") def bleh(self): print "bleh"if __name__ == '__main__': mainprogram().runme()#my2ndscript.pyimport mainprogramx = mainprogram.mainprogram()x.bleh()
但这会创建的第二个实例
mainprogram。或者,更好的是:
#mainprogram.pyclass mainprogram: def runme(self): execfile("my2ndscript.py", globals={'this': self}) def bleh(self): print "bleh"if __name__ == '__main__': mainprogram().runme()#my2ndscript.pythis.bleh()
我想这毕竟
execfile不是解决您问题的正确方法。您为什么不使用
import或
__import__(并且
reload()如果脚本在两次点击之间发生变化)?
#mainprogram.pyimport my2ndscriptclass mainprogram: def runme(self): reload(my2ndscript) my2ndscript.main(self) def bleh(self): print "bleh"if __name__ == '__main__': mainprogram().runme()#my2ndscript.pydef main(program): program.bleh()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)