python上级、同级、下级包的导入

一、上级

1.1 情况1

如图所示的结构图,在m.py 中调用n.py
在这里插入图片描述假如从n.py下导入A类
from ..n import A
特别的,scrapy爬虫中导入items.py的方式为:from ..items import JdItem,JdItem为类名。
其实使用情况二的方式来也可以。

1.2 情况2

如果在上几级,如下图的结构所示,在m.py中调用n.py
在这里插入图片描述导入的方式为

import sys,os
sys.path.append(os.getcwd())#将整个项目添加到搜索目录中
from test11 import n

例如下面的例子:
在这里插入图片描述
我要在main.py里调用common目录下的url_router.py里的一些方法,下面的main.py里的语句
在这里插入图片描述
common所在路径为/home/ubuntu/Documents/data/demo/common
那么所填的路径为/home/ubuntu/Documents/data/demo或者
/home/ubuntu/Documents/data/demo/
另:我们经常看到python文件的目录下会有__pycache__这个文件夹,我这边试了一下,在删除和添加上这个文件夹其实程序都可以运行。

二、同级

同级调用很简单
假如要导入n.py

import n

三、下级

如图的结构图
在这里插入图片描述这个时候要在m.py中加入下面的代码

import sys,os
##将整个项目加入解析器的搜索目录
sys.path.append(os.getcwd())

在m.py文件中导入n.py

from test2 import n

注:使用os,sys定位模块位置

import os
 
print ('***获取当前目录***')
print (os.getcwd())
print (os.path.abspath(os.path.dirname(__file__)))
 
print ('***获取上级目录***')
print (os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
print (os.path.abspath(os.path.dirname(os.getcwd())))
print (os.path.abspath(os.path.join(os.getcwd(), "..")))
 
print ('***获取上上级目录***')
print (os.path.abspath(os.path.join(os.getcwd(), "../..")))

这部分内容来自博客
在这里插入图片描述
注意,该方法在交互模式下无法使用。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值