码迷,mamicode.com
首页 > 其他好文 > 详细

导入模块的方法(常规导入与动态导入)

时间:2017-09-07 23:05:53      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:style   结果   两种方法   os.path   col   函数调用   ntp   简单   imp   

 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__))

 

导入模块的方法(常规导入与动态导入)

标签:style   结果   两种方法   os.path   col   函数调用   ntp   简单   imp   

原文地址:http://www.cnblogs.com/zjtong/p/7492186.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!