我们知道,定义在环境变量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__ 变量;该变量包含执行这样的语句时应该导入的模块的名字;它由一个模块名字符串列表组成。

python 导入第三方包_Python第三方包的导入相关推荐

  1. python 心电处理包_python 黏包现象及其解决方案

    一.数据缓冲区 缓冲区(buffer),它是内存空间的一部分.也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区,显然缓冲区是具有一定大小的 ...

  2. python自带哪些包_python各个包的用途

    python中的多个包的用途 1.Numpy Numpy提供了两种基本的对象:ndarray和ufunc.ndarray是存储单一数据类型的多维数组,而ufunc是能够对数组进行处理的函数. N维数组 ...

  3. python 树结构三方包_python第三方库---BeautifulSoup库(搬运)

    BeautifulSoup4是爬虫必学的技能.BeautifulSoup最主要的功能是从网页抓取数据,Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码. ...

  4. python获取当前路径导包_python 通过文件夹导入包的操作

    通过文件夹导入包要求每个目录下都有一个__init__.py文件,此文件可空白.也可不空.a@ubuntu:~/Desktop$ tree myp myp ├── a │ ├── b.py │ └── ...

  5. python queue模块安装_Python queue包_程序模块 - PyPI - Python中文网

    沃特?另一个消息队列? 考虑到消息队列的激增,人们可能倾向于相信 发明更多不是答案.使用现有的解决方案是 多次尝试与大多数现有的消息队列产品. 其他的失败(对于我们的用例). queuey是用来处理大 ...

  6. python ssh登陆模块_Python sshh包_程序模块 - PyPI - Python中文网

    sshh是一个ssh帮助工具,用于在ssh代理中批量注册ssh私钥. sshh的主要目的是避免在 在ssh代理中注册的密钥数超过一定数量.当 当服务器设置私钥上限时,超过了密钥尝试的上限 严格的尝试. ...

  7. python app开发模块_Python pytkapp包_程序模块 - PyPI - Python中文网

    用于开发应用程序的python包 多文档/单文档界面 利用tkinter库和附加tkinter集 小部件. 查看可用演示: pytkapp/demo/run_ptapoptionsdemo.py-为选 ...

  8. python使用pkg包_Python deb-pkg-tools包_程序模块 - PyPI - Python中文网

    python包deb-pkg-tools是要构建和 检查Debian binary packages和二进制包的存储库.它的 主要用例是自动化构建. 一些功能在命令行界面中公开(如下所述) 因为在sh ...

  9. python cmd下载模块_Python cmd包_程序模块 - PyPI - Python中文网

    CMDY 从python运行命令的一个方便的包 安装# latest version pip install git+https://github.com/pwwang/cmdy # released ...

最新文章

  1. 【连载】高效程序员的45 个习惯(不断更新中。。。)
  2. 就微软启动盗版系统黑屏的个人看法
  3. Linux Kernel TCP/IP Stack — L2 Layer — Traffic Control(流量控制)的实现原理
  4. java定义一个指针类型变量赋值吗,C++中指针的数据类型和运算相关知识小结
  5. 前端学习(2515):父向子传值
  6. aaS软件的必要特征分析,一定是多租户特性吗
  7. sql server 2008如何导入mdf,ldf文件
  8. mysql sql slave skip_MySQL的一次错误处理 SQL_SLAVE_SKIP_COUNTER
  9. 图形界面介绍——Select键
  10. 【音视频数据数据处理 6】【RGB篇】将RGB24图片转为YUV420格式图片
  11. 泛微平台ecology8.0二进制文件流下载对接接口
  12. STM32--舵机(SG90)
  13. mysql数据库压缩_Mysql压缩解决方案
  14. 今天美国大学计算机硕士放榜吗,美国大学研究生offer放榜时间一般是什么时候?别错过哟!...
  15. HDUOJ 6441 Find Integer
  16. WebRTC -- 添加选择音频输入输出设备功能
  17. 守得住孤独,把得住清欢
  18. android 背光控制,Android P背光策略分析(一)
  19. 淘宝/天猫/淘特/京东/拼多多/唯品会/苏宁易购/考拉海购内部隐藏优惠券。饿了么/美团外卖/美团优选/美团酒店/大众点评/口碑红包。抖音/快手直播带货。优惠券APP源码怎么写?分享给大家。
  20. PNAS:熟悉面孔的视觉和语义信息表征具有共享的神经编码

热门文章

  1. 一个正整数 n ,求n!的末尾有几个0
  2. 个人收款码不得用于经营收款
  3. DOA_GAN的近似复现
  4. Linux之系统安装读书笔记
  5. 网易云歌单添加到php,给自己的网站添加网易云音乐歌单吧^ ^
  6. Win32:编译64位程序的注意点
  7. 突破性进展什么意思_宣布突破性发展2011
  8. 多态 在游戏程序实例
  9. vue项目push 遇到send-pack: unexpected disconnect while reading sideband packetclient_loop: send disconn
  10. 计算机组成原理组间串行进位,计算机组成原理第二章课件.ppt