簡體   English   中英

從同一父目錄中的不同文件夾導入文件

[英]Importing files from different folder in the same parent directory

我有一個看起來像這樣的文件夾。 我正在嘗試從 test_cards.py 的 card.py 導入 class

└── 32-PROJECT-Texas-Hold-Em-Poker/
├── poker/
│   ├── card.py
│   └── __init__.py
└── tests/
    └── test_cards.py
    └── __init__.py

在 test.py 我試過:

from poker import card

from .poker import card

from ..poker import card
from 32-PROJECT-Texas-Hold-Em-Poker.poker import card


import sys
sys.path.insert(1, '/path/to/Test_folder_1/Test_folder_2')
from Test_folder_2 import add_numbers

但它不斷出現No module named pokerImportError: mapped relative import with no known parent package 我嘗試了不同的變體以及改變init .py 文件的位置,老實說,我嘗試的比我上面發布的要多得多。 我已經閱讀了相對和絕對進口。 沒有將此目錄添加到我的路徑中,我完全迷失在看似簡單的任務中。 我現在已經花了幾天時間,但我似乎無法讓它發揮作用。 另外,我應該學習什么來更好地理解這些東西,而不是在網上找東西? 我最近剛剛了解了系統路徑和 venvs。

實際上,我正在關注來自 test_cards.py 的 Udemy 上 2022 年完整的 Python 訓練營,他只需鍵入即可從 card.py 獲得卡片 class

from poker.card import Card

謝謝

有幾種方法可以做到這一點。 這是一個非常簡單,適合測試代碼但不推薦在生產應用程序中使用的代碼:

import sys
import os.path
sys.path.append(os.path.join(os.path.dirname(os.path.dirname(__file__)), 'poker'))
import card
sys.path = sys.path[:-1]

無論您從哪里運行 Python 腳本,這都應該有效。

這里有更多信息: https://stackoverflow.com/questions/72852/how-to-do-relative-imports-in-python

暫無
暫無

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

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