python 相对路径导入模块报错_如何从另一个目录导入具有相对路径的Python模块?...

在Python项目中,遇到从子目录导入根目录模块以及处理相对路径日志文件的问题。具体表现为:在composite.py尝试从data模块导入logger.py时,因logger.py中日志文件路径相对,导致找不到文件。解决方案是在logger.py中使用os.path.dirname(__file__)结合os.path.join获取日志文件的绝对路径,从而正确导入并处理日志。
摘要由CSDN通过智能技术生成

我有一个具有子目录的python项目,无法从子目录中的另一个模块(这里是EDOCX1[0])导入根目录中的模块(这里是EDOCX1[1])。

问题是logger.py指向log目录中的一个日志文件,该文件的路径名相对,因此composite.py无法从其子目录中找到该文件。

如何从composite.py和根目录中的另一个模块(如module.py导入模块logger?

├── data/

module.py

logger.py

├── composite/

│   ├── composite.py

├── log/

│   ├── info.log

这项工作:

数据/记录器.py:

h_info =      RotatingFileHandler('log/info.log', [...])

数据/模块.py:

import logger

这不起作用:

数据/复合/复合.py:

from data import logger

FileNotFoundError: [Errno 2] No such file or directory: '/home/abc/project/python/xyz/data/composite/log/info.log'

你试过h_info = RotatingFileHandler(os.path.join(os.path.dirname(__file__),'‌​log/info.log'), [...])吗?

的可能副本无法从其他文件夹导入python

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值