python模块动态导入和动态删除

python模块动态导入和动态删除
		import importlib
		package_path = 'Data.slot_island_info.' + package_name
		if package_path in sys.modules:
			del sys.modules[package_path]
		slot_data = importlib.import_module(package_path, __package__).data

在开发过程中,可能会出现从py文件读取数据,之后对数据做一下操作并保存,最后再读取这个py文件。

但是,这有个坑,就是我修改了这个模块,重新导入这个模块时,怎么都导入不了新模块。

python的模块系统:加载一个模块时,会在sys.modules这个字典判断有没有这个模块,如果有就不加载,这就是为什么多次导入一个模块,系统中只会有一个模块。

因此,采用手动删除这个模块,再重新加载。

热更新也是用类似的方法,好像要用的reload。

你可能感兴趣的:(Python,python)