通常我们导入我们需要的包,通过下列的方式:
import mypack
或者:
from test import mypack
但是我们可能根据不同的情况导入不同的包,例如根据操作系统来导入不同的配置文件,不同资源文件,你可以这样写:
if os is win:
from local import winconfig
from res import winres
elif os is linux:
from local import linuxconfig
from res import linuxres
elif os is mac:
from local import macconfig
from res import macres
else raise Exception( ‘not support’ )
但是你觉得有点繁琐,你想直接得到当前系统的字符串值,然后通过直接导入字符串代表的包
那么上面的那么多行代码就可以用2行完成:
os = GetOs()
from local import os + ‘config’
from res import os + ‘res’
但是我告诉你,如果你这样写,python解释器会告诉你,语法错误。那么要怎么做呢?
可以使用importlib,这个包是2.7才加入的,如果你比较早的版本,那么就使用
__import__()
看下正确的代码:
import importlib
importlib.import_module( ‘local.’ + os + ‘config’ )
importlib.import_module( ‘local.’ + os + ‘res’ )
版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.