在Python中,无法通过字符串来导入一个module文件:

import "string"  # Error

x = "string"
import x # 不是导入string,而是导入名叫x的module文件

但是,如果要实现以字符串导入module文件的功能,该怎么办呢?有3种办法。

exec

将import语句拼接成字符串,放入到exec函数里面执行:

modname = 'string'
exec('import ' + modname)

__import__函数

调用built-in函数__import__:

modname = 'string'
__import__(modname)

import_module函数

这个是官方推荐,要调用import_module函数,首先要导入importlib:

import importlib

modname = 'string'
string = importlib.import_module(modname)

Python中用字符串导入module的更多相关文章

  1. python根据字符串导入模块

    问题: path = "auth.my_auth.AUTH" # 根据path实例化AUTH类 解决: path = "auth.my_auth.AUTH" i ...

  2. python中根据字符串导入模块module

    python中根据字符串导入模块module 需要导入importlib,使用其中的import_module方法 import importlib modname = 'datetime' date ...

  3. Python中用format函数格式化字符串的用法

    这篇文章主要介绍了Python中用format函数格式化字符串的用法,格式化字符串是Python学习当中的基础知识,本文主要针对Python2.7.x版本,需要的朋友可以参考下   自python2. ...

  4. Python中用format函数格式化字符串

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存. 1.百分号方式 语法:%[( ...

  5. 6.python模块(导入,内置,自定义,开源)

    一.模块 1.模块简介 模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py.模块可以被别的程序引入,以使用该模块中的函数等功能.这也是使用python标准库的方法. 类似于函数式编程和面向过 ...

  6. Python模块(导入,内置,自定义,开源)

    目录: 模块介绍 自定义模块 内置模块 开源模块 一.模块 1.模块简介 模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py.模块可以被别的程序引入,以使用该模块中的函数等功能.这也是使用p ...

  7. python三种导入模块的方法和区别

    方法一: import modname 模块是指一个可以交互使用,或者从另一Python 程序访问的代码段.只要导入了一个模块,就可以引用它的任何公共的函数.类或属性.模块可以通过这种方法来 使用其它 ...

  8. Python中字符串的使用

    这篇文章主要介绍python当中用的非常多的一种内置类型——str.它属于python中的Sequnce Type(序列类型).python中一共7种序列类型,分别为str(字符串),unicode( ...

  9. Python importlib(动态导入模块)

    使用 Python importlib(动态导入模块) 可以将字符串型的模块名导入 示例: import importlib module = 'module name' # 字符串型模块名 test ...

随机推荐

  1. Caused by: java.lang.ClassNotFoundException: org.springframework.boot.bind.RelaxedPropertyResolver

    Caused by: java.lang.ClassNotFoundException: org.springframework.boot.bind.RelaxedPropertyResolver 这 ...

  2. 前端调用接口得到的数据跟postman跑出来的数据里数字部份不相等

    昨天碰到这样一个场景,调用后端接口返回的数据发现所有数据都是正常的,只有一个商品ID的最后两位是错的,每一个商品都是,导致无法进行商品的上下架和删除, 经过查资料发现: 浏览器解析数字的坑,一旦超出一 ...

  3. 19-3-7Python中小数据池、数据类型的补充、set集合

    一.小数据池(了解) “id”    获取内存地址 “==”  比较等号两端的值是否相等 “is”    身份运算:判断的是两个对象的内存地址是否相同. 代码块:一个文件就是一个代码块.(函数.类都是 ...

  4. 前端应该掌握的ps知识

    你说有美图秀秀之后PS要over了,NO PS 依旧很重要,当然除了修人像,比如切图什么的 来吧 开始吧 在开始切图之前,先科普几个小技巧 1. 如果快速从大图中拿出自己想要的小图 : 需求:快速拿出 ...

  5. thinkphp+redis实现秒杀,缓存等功能

    秒杀是商城常见功能  php+redis是最常见的秒杀功能 1,安装redis,根据自己的php版本安装对应的redis扩展 首先查看phpinfo();php环境信息 2,下载redis https ...

  6. 生成并调用so动态库

    本文更新于2019-01-03. 生成库 头文件fn.h如下: #ifndef __FN_H__ #define __FN_H__ #ifdef __cplusplus extern "C& ...

  7. 20155215 2006-2007-2 《Java程序设计》第2周学习总结

    20155215 2006-2007-2 <Java程序设计>第2周学习总结 教材学习内容总结 第三章主要讲述了JAVA程序编写中的一些基本语法.其实看了第三章之后我就感觉到,C语言不愧是 ...

  8. 20155307 2016-2017-2 《Java程序设计》第4周学习总结

    20155307 2016-2017-2 <Java程序设计>第4周学习总结 教材学习内容总结 所谓继承,讲的就是出现很多很多相同的部分的话,就把这个部分变成"父类", ...

  9. PhoneGap3.2安装步骤

    1.首选安装好JDK.Android SDK.Ant 配置如下:        系统环境变量        ANDROID_HOME Value: C:\Development\adt-bundle\ ...

  10. 使用salt-ssh初始化系统安装salt-minion

    salt-ssh介绍及使用方法 在ssh上执行salt命令和状态而不安装salt-minion,类似于ansible. 1. salt-ssh的安装: [root@linux-node1 ~]# yu ...