您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在python中使用execfile的NameError

在python中使用execfile的NameError

在第二种情况下,您将需要import(不确定“ mainprogram.py”是否在您的上$PYTHONPATH

#mainprogram.py
class mainprogram:
    def runme(self):
        execfile("my2ndscript.py")
    def bleh(self):
        print "bleh"
if __name__ == '__main__':
    mainprogram().runme()

#my2ndscript.py
import mainprogram
x = mainprogram.mainprogram()
x.bleh()

但这会创建的第二个实例mainprogram。或者,更好的是:

#mainprogram.py
class mainprogram:
    def runme(self):
        execfile("my2ndscript.py", globals={'this': self})
    def bleh(self):
        print "bleh"
if __name__ == '__main__':
    mainprogram().runme()

#my2ndscript.py
this.bleh()

我想这毕竟execfile不是解决您问题的正确方法。您为什么不使用import__import__(并且reload()如果脚本在两次点击之间发生变化)?

#mainprogram.py
import my2ndscript

class mainprogram:
    def runme(self):
        reload(my2ndscript)
        my2ndscript.main(self)
    def bleh(self):
        print "bleh"

if __name__ == '__main__':
    mainprogram().runme()

#my2ndscript.py
def main(program):
    program.bleh()
python 2022/1/1 18:47:04 有332人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶