自定义的python目录和文件 import 找不到路径的解决办法
自定义的python目录和文件 import 找不到路径的解决办法
王二铁 发表于4年前
自定义的python目录和文件 import 找不到路径的解决办法
  • 发表于 4年前
  • 阅读 6258
  • 收藏 3
  • 点赞 0
  • 评论 0
摘要: 我们写代码时通常会将公共的方法放到一个common目录中,来实现共用。但是impoert时通查会碰到找不到模块的异样:ImportError: No module named common.toolutil, 本文介绍解决办法

+++++ 项目背景++++++++++++++++++++++++++++++++++++
scavenger.py中有一个通用的方法getList,为了没管和复用,新建目录common和文件toolutil.py 将函数写入:

新建目录 和文件 :
     common/toolutil.py

scavenger.py中,注掉原有getList方法,新加入引用:
     from common.toolutil import getList

Traceback (most recent call last):
  File "scavenger.py", line 11, in <module>
    from common.toolutil import getList
ImportError: No module named common.toolutil
++++++++++++++++++++++++++++++++++++++++++

第一个尝试: 加入 __init__.py   
    
      参考:http://bbs.csdn.net/topics/360213687,
     原因:  下列的1.1,Python知道当前的包路径后应该不会再抛出找不到的错误
          1.1、__int__.py会告诉python知道它所在的路径是一个python的包路径。         
          1.2、python里一个包也是一个对象。每个用class定义的对象都可以用__init__来初始化,包作为一个类也应该享有初始化的权利。所以就有了这个__int__.py。

     结果:不可用,原因是python识别到了Scavenger是一个路径,但是没有识别到common
         
          /Users/wangjiankui/git-osc/Scavenger
          wangs-MacBook-Pro:Scavenger wangjiankui$
          wangs-MacBook-Pro:Scavenger wangjiankui$ ls
          History          Note          README.md     __init__.py     common          config          scavenger.py

     将__int__.py copy 到common目录
     参考文档:http://www.cnpythoner.com/post/2.html
     结果:OK


共有 人打赏支持
王二铁
粉丝 86
博文 62
码字总数 41123
×
王二铁
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: