[英]How to import packages in Python
我的項目空間是這樣的:
Project
Functions_Folder/
__init__.py
Folder1/
__init__.py
Function1.py
Function2.py
Function3.py
Folder2/
__init__.py
Function4.py
Function5.py
Function6.py
Codes_Folder/
script1.py
script2.py
我需要在script1.py
導入Folder1
和Folder2
一些函數,但這些函數也必須在同一目錄中導入函數,我的意思是,例如Function4.py
必須導入Function6.py
和Function3.py
請幫忙。
您可以使用相對導入
├── test
│ ├── __init__.py
│ ├── a
│ │ ├── one.py
│ │ └── two.py
│ └── b
│ ├── __init__.py
│ └── one.py
└── test.py
其中模塊a
的one.py
文件只是
from .two import a_two
def a_one(i):
return 10*a_two(i)
模塊a
的two.py
文件是
def a_two(i):
return 5*i
模塊b
的one.py
文件是
from ..a.one import a_one
def b_one(i):
return a_one(i)
from ..a.one import a_one
和from .two import a_two
使用相對導入。
可以通過運行test.py
文件來測試整個模塊,它是
from test.b.one import b_one
print(b_one(1))
至於在腳本中導入模塊test
的問題,在macOS和linux下,需要在.bashrc
設置PYTHONPATH
,用於模塊test
export PYTHONPATH=the_path_to_module_test:$PYTHONPATH
所以你想從script1.py
Folder1
和Folder2
導入一些函數。
首先為Project
文件夾創建__init__.py
腳本1.py
import sys
sys.path.append("..")
from Functions_folder.Folder1 import Function1, Function2
from Functions_folder.Folder2 import Function4, Function5
函數4.py
import sys
sys.path.append("..")
from Folder2 import Function5, Function6
from Folder1 import Function3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.