Python常犯错误集合

Python常犯错误

由于工作需要最近开始写Python代码在, 经常犯些低级错误,故写这篇博文记录,以免后犯。并不定时更新。

动态导入

    使用__import__动态导入,可以导入字符串类型的模块或类。当执行这条语句时,Python解释器

会首先搜索sys.path下的路径
Python常犯错误集合_第1张图片

    如果可以找到该模块则直接导入。用sys.path.insert(0, path),注意要头插,如果用

sys.path.append插入则为尾插。当Python解释器搜索模块时,会从起始位置遍历路径,当发现该模

块名字时直接导入该模块。即使路径不是你所期望的路径
Python常犯错误集合_第2张图片
Python常犯错误集合_第3张图片

但是在一个程序运行时,如果重复导入某一个模块(功能并不一样)时, 你会发现 这个模块的

功能并没有改变。这是因为Python中有一个叫sys.modules的东西,它里边是该文件运行时所有的

模块名字。当你导入某一个模块时,因sys.modules里有同名模块所以不会重新导入,这是我们就需

要先删除sys.modules里的同名模块然后再导入就可以了
if sys.modules.has_key(moduleName):
    del sys.modules[moduleName] 

你可能感兴趣的:(Python-小错误)