Python中几种导入模块的方式总结

发布时间 - 2026-01-11 00:51:46    点击率:

模块内部封装了很多实用的功能,有时在模块外部调用就需要将其导入。常见的方式有如下几种:

1 . import

>>> import sys
>>> sys.path
['', 'C:\\Python34\\Lib\\idlelib', 'C:\\Windows\\system32\\python34.zip', 'C:\\Python34\\DLLs', 'C:\\Python34\\lib', 'C:\\Python34', 'C:\\Python34\\lib\\site-packages']

最常见的方式,直接将要导入的模块名称写在后面导入。

2 .from .. import ..

与import类似,只是更明确的要导入的方法或变量,比如:

>>> from sys import path
>>> path
['', 'C:\\Python34\\Lib\\idlelib', 'C:\\Windows\\system32\\python34.zip', 'C:\\Python34\\DLLs', 'C:\\Python34\\lib', 'C:\\Python34', 'C:\\Python34\\lib\\site-packages']

但是会造成命名空间的污染,更推荐使用import。

3 . 用名称字符串导入模块

我们可能想这样导入模块:

 >>> import "sys"
SyntaxError: invalid syntax

python import接收的是变量而不是字符串,那将”sys”赋值给一个变量呢?

>>> x="sys"
>>> import x
Traceback (most recent call last):
 File "<pyshell#4>", line 1, in <module>
  import x
ImportError: No module named 'x'

这样也不行,这样做的意思是导入名为x的模块而非x代表的sys模块。

我们需要用到exec函数:

>>> x="sys"
>>> exec("import "+ x)
>>> sys.path
['', 'C:\\Python34\\Lib\\idlelib', 'C:\\Windows\\system32\\python34.zip', 'C:\\Python34\\DLLs', 'C:\\Python34\\lib', 'C:\\Python34', 'C:\\Python34\\lib\\site-packages']

将导入语句构建成字符串并传递给exec函数执行。

exec缺点是每次执行都要编译,运行多次会影响性能。

更好的方式是使用__import__ 函数。

>>> x="sys"
>>> sys = __import__(x)
>>> sys.path
['', 'C:\\Python34\\Lib\\idlelib', 'C:\\Windows\\system32\\python34.zip', 'C:\\Python34\\DLLs', 'C:\\Python34\\lib', 'C:\\Python34', 'C:\\Python34\\lib\\site-packages']

这种方式需要一个变量保存模块对象,以便后续调用。

以上这篇Python中几种导入模块的方式总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# python  # 导入模块  # python根据路径导入模块的方法  # Python创建模块及模块导入的方法  # python模块导入的细节详解  # python如何导入自己的模块  # Python中导入自定义模块的几种方法总结  # Python模块导入问题终极解决方法指南  # 给大家  # 几种  # 的是  # 都要  # 推荐使用  # 将其  # 希望能  # 这样做  # 这篇  # 而非  # 写在  # 装了  # 最常见  # 小编  # 大家多多  # 而不是  # gt  # brush  # class  # py 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  JS中对数组元素进行增删改移的方法总结  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  如何在自有机房高效搭建专业网站?  百度浏览器网页无法复制文字怎么办 百度浏览器复制修复  利用vue写todolist单页应用  新三国志曹操传主线渭水交兵攻略  利用python获取某年中每个月的第一天和最后一天  Laravel PHP版本要求一览_Laravel各版本环境要求对照  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  如何在Tomcat中配置并部署网站项目?  如何挑选优质建站一级代理提升网站排名?  Laravel如何保护应用免受CSRF攻击?(原理和示例)  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  Linux系统命令中screen命令详解  如何续费美橙建站之星域名及服务?  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  如何获取PHP WAP自助建站系统源码?  如何正确选择百度移动适配建站域名?  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  网站制作软件免费下载安装,有哪些免费下载的软件网站?  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  如何快速启动建站代理加盟业务?  Python正则表达式进阶教程_复杂匹配与分组替换解析  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  javascript中的try catch异常捕获机制用法分析  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  高端建站如何打造兼具美学与转化的品牌官网?  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  Laravel如何生成API文档?(Swagger/OpenAPI教程)  JavaScript如何实现类型判断_typeof和instanceof有什么区别  如何批量查询域名的建站时间记录?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  Firefox Developer Edition开发者版本入口  济南网站建设制作公司,室内设计网站一般都有哪些功能?  Laravel用户密码怎么加密_Laravel Hash门面使用教程  如何用PHP快速搭建高效网站?分步指南  如何挑选最适合建站的高性能VPS主机?  个人网站制作流程图片大全,个人网站如何注销?  常州企业网站制作公司,全国继续教育网怎么登录?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  如何快速生成橙子建站落地页链接?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  Laravel如何处理表单验证?(Requests代码示例)  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点