簡體   English   中英

python從不同目錄結構導入模塊

[英]python Import module from a different directory structure

     common/src/validation/file1.py

在common / src / validation /和common / src /文件夾中定義了“ _init_ ”。

     common/test/validation/file2.py
     common/test/validation/case/file3.py

在file2.py和file3.py中,我想從file1.py導入類。

我在file2.py和file3.py中給出以下行:

      from file1 import class1  

我目前收到錯誤消息:

      #ImportError: No module named file1

sys.path.append應該是什么?

您基本上可以將PYTHONPATH更改為common並從那里運行。 然后引用與此相關的所有導入路徑。

像這樣:(假設您是共同的,而您的主要對象在file3.py中)

PYTHONPATH=. python test/validation/case/file3.py

確保在導入的任何目錄中都有__init__.py文件(此文件的內容無關緊要)

我通常喜歡在每個項目的根目錄中放入一個run.sh文件,其中包含該行的某些版本(指向我的主要函數所在的位置)。

它通常將包含一個簡單的內容,例如:

#!/bin/bash
source some_env/bin/activate # start the relevant environment if you have one
PYTHONPATH=. python src/main.py # set PYTHONPATH and run
deactivate # exit the relevant environment if started one

另一個選擇是執行此操作,但並不那么優雅。

如果要從文件夾導入文件,則應有一個名為

__init__.py 

在該文件夾中(也可以是空白文件)。

暫無
暫無

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

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