首页 > 解决方案 > 当您在另一个子文件夹中时,如何从子文件夹中导入文件?(Python)

问题描述

我目前在'strategy.py'文件中,我正在尝试导入'utils.py'和'BaseStrategy.py'('utils.py'是一个包含一些功能的文件,'BaseStrategy.py'包含一个名为“BaseStrategy”的类)。

文件夹结构:

program\
  __init__.py
  main.py
  folder1\
    __init__.py
    utils.py
    BaseStrategy.py
  folder2\
    __init__.py
    strategy.py

在“main.py”中,我可以像这样导入两个文件:

from folder1.BaseStrategy import BaseStrategy
from folder1 import utils

那么如何在“strategy.py”中导入“utils.py”和“BaseStrategy.py”?

标签: pythonpython-3.ximport

解决方案


import sys    
sys.path.insert(0, 'program/folder1')
from folder1 import utils
from folder1 import BaseStrategy

您还可以更改:

sys.path.insert(0, 'program/folder1')

到:

sys.path.append('../')

但它会弄乱从您的父目录(main.py)导入。但是,您可以通过以下方式克服它:

import os,sys
sys.path.append(os.path.dirname(os.path.abspath(__file__)))

推荐阅读