当前位置: 首页 > news >正文

python 第三方包自动导入_Python第三方包的导入

我们知道,定义在环境变量PYTHONPATH里是可以直接用import导入的。下面我们来操作如何从非pythonpath目录导入第三方包或者自己定义的包。

假定我们的包有如下的目录结构:person 是最顶层的包,man、woman、child是子包

person\

__init__.py

person.py

man\

__init__.py

goodman.py

child\

__init__.py

lovelychild.py

woman\

__init__.py

goodwoman.py

首先,我们把包所在目录(c:\testpackage)加入到sys.path路径里

>>> import sys

>>> sys.path.append("c:\\testpackage")

注意:路径分隔符一定要写成”\\”的

1、用import方式 导入包,此种方式必须写全包的路径

>>> import person.person

>>> person.person.printperson()

person

>>> import person.man.goodman

>>> person.man.goodman.printman()

man

>>> import person.woman.goodwoman

>>> person.woman.goodwoman.printwoman()

woman

>>> import person.man.child.lovelychild

>>> person.man.child.lovelychild.printchild()

child

2、用from * import *方式导入包

>>> from person import person

>>> person.printperson()

person

>>> from person.man import goodman

>>> goodman.printman()

man

>>> from person.man.child import lovelychild

>>> lovelychild.printchild()

child

>>> from person.woman import goodwoman

>>> goodwoman.printwoman()

woman

也可以用以下方式:

>>> from person import *

>>> person.printperson()

person

>>> from person.man import *

>>> goodman.printman()

man

>>> from person.man.child import *

>>> lovelychild.printchild()

child

注意:这样的语句会导入哪些文件取决于操作系统的文件系统;所以我们在__init__.py 中加入 __all__ 变量;该变量包含执行这样的语句时应该导入的模块的名字;它由一个模块名字符串列表组成。

相关文章:

  • SharePoint高级内容--访问群体对象模型的开发之一
  • php soap 两个版本_zabbix-第一章-第三节 LNMP之PHP搭建
  • SharePoint高级内容--访问群体对象模型的开发之二
  • 批量修改的后台代码_如何用WordPress自带的批量编辑功能修改文章分类目录?
  • postman压力测试_如何用Postman做接口自动化测试?
  • 编程访问“我的网站”中的目标链接门户列表
  • 你觉得外观模式和代理模式的联系和区别是什么?_清华毕业大牛带你深入研磨并掌握23种设计模式,总计6.17G...
  • MOSS 2007基础:开发自定义WebPart
  • tp 扫码点餐 源码_外卖点餐扫码点餐系统开发案例
  • MOSS 2007基础:部署自定义WebPart
  • google网页有一个上传文件的按钮怎么用python里面用click不能实现_PyHubWeekly | 第七期:5款Python小工具,最后一款会给你惊喜...
  • AJAX如何用于Web部件
  • python分段线性插值_[Python] 分段线性插值
  • 装机遇到的问题
  • 声学测试软件手机版_来了,小米手机的2019黑科技总结
  • 收藏网友的 源程序下载网
  • Apache的基本使用
  • Django 博客开发教程 16 - 统计文章阅读量
  • IDEA常用插件整理
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • Laravel核心解读--Facades
  • Magento 1.x 中文订单打印乱码
  • supervisor 永不挂掉的进程 安装以及使用
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • windows下mongoDB的环境配置
  • 搞机器学习要哪些技能
  • 基于Android乐音识别(2)
  • 力扣(LeetCode)22
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • $().each和$.each的区别
  • (33)STM32——485实验笔记
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (Oracle)SQL优化技巧(一):分页查询
  • (Python) SOAP Web Service (HTTP POST)
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (动态规划)5. 最长回文子串 java解决
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (原創) 未来三学期想要修的课 (日記)
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • ******之网络***——物理***
  • .bashrc在哪里,alias妙用
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .NET企业级应用架构设计系列之应用服务器