Python call function from another file each time the function is called
本问题已经有最佳答案,请猛点这里访问。
我读过这篇文章,如何从Python中的另一个文件调用函数,以了解如何从另一个文件加载函数。我有一整天都在运行的生产代码,我希望能够只更改该代码中的一个函数来测试/更改输出。我不想每次需要验证更改是否成功时都重新启动程序。
是否有一种机制可以在每次调用函数时加载它,而不是在程序开始时导入函数,并在特定实例的整个生命周期中使用相同的代码?我把
类似的类比是HTML和CSS样式。我可以在那里有单独的文件,并更改CSS来更改HTML的输出,而不必实际接触HTML。
确实有一种方法可以使对外部模块所做的更改反映在程序/python会话中,而无需重新启动程序。我们可以使用
1 2 3 | ... import <module> reload(<module>) |
号
但是请注意,每当您想要重新加载模块时都需要这样做。
我会说,如果一个Python程序在特定的iterval中不断地重复运行,那么长时间运行它将不是一个好的设计。如果需要的话,让cron作业或外部调度程序运行python程序会是更好的设计。如果重新启动整个python程序,则不需要重新加载模块,因为每次运行时python都会再次加载模块。
如果您使用的是python 3,那么可以使用
1 2 3 4 | import MyModuleWithAFunction import importlib ... importlib.reload(MyModuleWithAFunction) |
阅读更多信息。