导入模块的方法(常规导入与动态导入)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了导入模块的方法(常规导入与动态导入)相关的知识,希望对你有一定的参考价值。
1 """动态导入模块的两种方法 2 1、内建函数:__import__( str ) 3 ●它是解释器自己内部使用的,官方不建议使用 4 ●__import__函数与import 语句的既定目标相同 5 但它是一个真正的函数,并接受一个字符串参数。 6 2、模块:importlib 7 ●官方建议使用 8 ●importlib.import_module( str ) 9 此方法支持传入字符串参数来导入一个模块, 10 字符串参数仅仅是一个硬性的字符串代码, 11 但它可以是一个简单的变量,或者一个函数调用的结果。 12 """ 13 # 1、常规导入模块: import 14 import os 15 print(os) #<module ‘os‘ from ‘...\\lib\\os.py‘> 16 print(1,"\t",os.path.abspath(__file__)) 17 18 # 2、动态导入模块: __import__() 19 os1 = __import__("os.path") #只能导入到第一层即模块,无法直接导入模块里的方法 20 print(os1) #<module ‘os‘ from ‘...\\lib\\os.py‘> 21 print(2,"\t",os1.path.abspath(__file__)) 22 23 str1 = "os.path" 24 a1 = __import__(str1) #支持类型是字符串的变量 25 print(a1) #<module ‘os‘ from ‘...\\lib\\os.py‘> 26 print(2,"\t",a1.path.abspath(__file__ )) 27 28 # 3、动态导入模块: importlib.import_moudel() 29 import importlib 30 os2 = importlib.import_module("os.path") #可以导入到指定层,可以直接导入模块里的方法 31 print(os2) #<module ‘ntpath‘ from ‘...\\lib\\ntpath.py‘> 32 print(3,"\t",os2.abspath(__file__)) 33 34 str2 = "os.path" 35 a2 = importlib.import_module(str2) #支持类型是字符串的变量 36 print(a2) #<module ‘ntpath‘ from ‘...\\lib\\ntpath.py‘> 37 print(3,"\t",a2.abspath(__file__))
以上是关于导入模块的方法(常规导入与动态导入)的主要内容,如果未能解决你的问题,请参考以下文章