python 引入上级目录,import

基本解决方案:

1、文件夹中必须有__init__.py文件,该文件可以为空,但必须存在该文件。

 

python导入同级别模块很方便:

  import xxx

要导入下级目录页挺方便,需要在下级目录中写一个__init__.py文件

  from dirname import xxx

要导入上级目录,可以使用sys.path

  首先sys.path的作用是:当使用import语句导入模块时,解释器会搜索当前模块所在目录以及sys.path指定的路径去找需要import的模块

  所以改变思路,直接把上级目录加到sys.path里:sys.path.append('../')

  from fatherdirname import xxx

部分同学还会出现问题:

用了上面的方法,还是会报错,提示找不到model。这时候可能的原因:

我用的vscode。

Python在调试的时候,基础路径的 终端的位置。就是cmd命令行最前面打印的目录。通过cd调整这个目录到和程序中路径一致的位置。

更好的解决办法,

用下面的代码获取到文件的动态的绝对路径,基于此,在代码中调整其他文件的相对路径。

import os,sys 
parentdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 
sys.path.insert(0,parentdir)  

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值