1. 程式人生 > >python 中import 的跨資料夾使用

python 中import 的跨資料夾使用

轉自https://blog.csdn.net/xm_csdn/article/details/52211079

python實現不同層級目錄import 模組的方法

python目前也像php一樣越來越多的朋友使用它了,今天 小編在學習python時碰到不同層級引用的問題,希望可以幫助到大家。

一、同級目錄下的呼叫

程式結構如下:

-- src
    |-- mod1.py
    |-- test1.py

若在程式test1.py中匯入模組mod1, 則直接使用

import mod1

from mod1 import *;

二、呼叫子目錄下的模組

程式結構如下:

-- src
    |-- mod1.py
    |-- lib
    |    |-- mod2.py
    |-- test1.py

這時看到test1.py和lib目錄(即mod2.py的父級目錄),如果想在程式test1.py中匯入模組mod2.py ,可以在lib件夾中建立空檔案__init__.py檔案(也可以在該檔案中自定義輸出模組介面),然後使用:

from lib import mod2

import lib.mod2

三、呼叫上級目錄下的檔案

程式結構如下:

-- src
    |-- mod1.py
    |-- lib
    |    |-- mod2.py
    |-- sub
    |    |-- test2.py

這裡想要實現test2.py呼叫mod1.py和mod2.py ,做法是我們先跳到src目錄下面,直接可以呼叫mod1,然後在lib上當下建一個空檔案__init__.py ,就可以像第二步呼叫子目錄下的模組一樣,通過from lib import mod2
進行呼叫了。具體程式碼如下:

import sys

import os

# 得到當前根目錄

o_path = os.getcwd() # 返回當前工作目錄

sys.path.append(o_path) # 新增自己指定的搜尋路徑import mod1
from lib importmod2