python模块导入,网上介绍的资料很多,方法也众说纷纭。根据自己的实践,感觉这个方法最简单直接,而且可以与主流的python ide生成的工程是一样的。

规则只有三条

1.      严格区分包和文件夹。包的定义就是包含__init__.py的文件夹。如果没有__init__.py,那么就是普通的文件夹。

2.      导入package。  在python 安装目录的site-package文件夹中新建xxx.pth,内容是需要导入的package所在的文件夹路径。

3.      导入模块。就是一般的模块导入写法,注意只要包路径,不要文件夹路径。

示例:

以上面工程为例,

总共有4个包,分别是:package,package1, package2, folder2.(注意,folder1不是package,因为它没有__init__.py)。

这些包所在的文件夹共有两个,test以及test/folder1。  注意,package2所在的文件夹是test,虽然它是包含在folder2里面,但是folder2是一个包,不是一个文件夹。

因此在site-package中新建一个XXX.pth, 里面添加上test以及test/folder1的绝对路径即可。

模块导入比较简单,只要依次填包名就可以了,但注意只要包名
如果需要导入module2,则import folder2.package2.module2

如果需要导入module1,则import package1.module1   注意,路径中没有folder1,因为folder1是文件夹,不是包。

最新文章

  1. 在idea中maven项目jdk编译version总是跳到1.5
  2. hive外部表的建立与数据匹配
  3. 使用keytool 生成证书
  4. 因为此控件已在 web.config 中注册并且与该页位于同一个目录中
  5. xcode8 导入 dylib
  6. javascript 中文数字阿拉伯数字转换类 Nzh
  7. mysql和oracle日期和字符相互转换
  8. 安装ipython notebook
  9. 对开发中常见的内存泄露,GDI泄露进行检测
  10. FZU 1502 Letter Deletion(DP)
  11. 套接字API
  12. pgAdmin的数据导入之CSV
  13. Mac电脑使用:您的安全性偏好设置仅允许安装来自App Store和被认可的开发者的应用(解决方法)
  14. Qt error ------ qRegisterMetaType() 跨线程信号与槽的形参携带
  15. poj 3041(最大匹配问题)
  16. 【LeetCode】- Length of Last Word(最后一个单词的长度)
  17. php调java接口
  18. SQL Server2012创建约束图解
  19. 二:Bootstrap-css组件
  20. 明确出需求 然后开会评审 要什么接口 接口参数、返回json内容、格式 协定好 在做

热门文章

  1. 双拓扑排序 HDOJ 5098 Smart Software Installer
  2. 477 Total Hamming Distance 汉明距离总和
  3. Problem E: 穷游中国在统题 优先队列 + 模拟
  4. JSP九大内置对象的作用和用法总结【转】
  5. Java中“==”的使用,以及“==”和equal的比较
  6. ios学习笔记 UITableView(纯代码) (一)
  7. 前端之CSS创建的样式
  8. Java_静态变量
  9. Ajax深入理解
  10. Java URL 中文乱码解决办法