前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 绝对路径引用

Python 绝对路径引用

作者头像
py3study
发布2020-01-07 11:53:13
2.4K0
发布2020-01-07 11:53:13
举报
文章被收录于专栏:python3

问题:

Python开发时经常出现找不到import对象的问题,ImportError: No module named xxx,一般的原因不外乎

  1. 未安装对应依赖
  2. 引用对象的文件夹下缺失 __init__.py文件
  3. 由于通过相对路径的加载,导致找不到object

解决方法

针对原因1和2通过安装依赖和添加__init__.py文件即可。原因3我们的解决方法是把相对路径的import改为绝对路径。

假定文件结构如下:

代码语言:javascript
复制
project:
    |__ src/
        |__ main.py
    |__ common/
        |__ utils.py

main.py中引用utils.py的方法,相对路径的引用示例:

代码语言:javascript
复制
# -*- coding=utf-8 -*-
import os
import sys

# 相对路径的import
sys.path.append("../")
from common.utils import *


if __name__ == "__main__":
    print(os.path.dirname(__file__))

在文件结构复杂的项目中,相对路径的引用存在找不到引用对象的可能,为此修改为绝对路径引用,示例如下:

代码语言:javascript
复制
# -*- coding=utf-8 -*-
import os
import sys

# 绝对路径的import
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../")
from common.utils import *


if __name__ == "__main__":
    print(os.path.dirname(os.path.abspath(__file__)))
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题:
  • 解决方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档