簡體   English   中英

如何在相同的根目錄中但在另一個子目錄中導入Python模塊?

[英]How do I import a Python module in the same root directory but in a different sub-directory?

我在名為“ API”的父文件夾中有許多Python文件,並且我試圖將它們鏈接在一起:

API / auth / module1.py
API /子文件夾/prgm.py

從父到子文件夾,我有一個包含路徑或程序名稱來調用一個init .py文件,但是當我去執行“/subfolder/prgm.py”具有呼叫導入“module1.py”,我執行時出現以下錯誤:

machine01% ./prgm.py
Traceback (most recent call last):
  File "./prgm.py", line 2, in <module>
    from API.auth.module1 import authFunction
ModuleNotFoundError: No module named 'API'

這是我在“ prgm.py”中的import語句:

from API.auth import module1

這個問題與之前的問題有點不同,因為我試圖獲取一個子文件夾中已經存在的python腳本,以訪問另一個子文件夾中但在同一父“ API”文件夾下的模塊。 先前的問題涉及基於父文件夾的python腳本和位於子文件夾中的調用模塊。

嘗試“。”從。身份驗證導入模塊1“””可能是?

如果您確實需要運行API / subfolder / prgm.py,則依次導入API / auth / module1.py

在prgm.py中,您可以將一個父目錄(即“ API”)添加到sys.path中,如下所示:

import os, sys, inspect
currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
parentdir = os.path.dirname(currentdir)
sys.path.insert(0,parentdir)

現在,您可以從“ API”內部導入任何內容:

from auth import module1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM