python引入同一目錄下的py檔案

2021-09-01 18:31:46 字數 1694 閱讀 4143

注意:python2和python3的包內import語法有區別,下面介紹一下python3的包內import語法

例如在admin.py檔案中要引入dealcode.py檔案:

1、在目錄下有__init__.py檔案

2、在admin.py檔案中加一行:from . import dealcode

(如果要引入同一目錄下的dealcode.py檔案中的乙個類hello,在admin.py檔案中加一行:from .dealcode import hello)

可以直接在__init__.py中import,在該目錄下的檔案都可以使用__init__.py檔案中import的東西

如果還是不行的話,注意一下當前目錄是否已經被加入pythonpath環境變數中了,

如果是命令列,系統會預設當前目錄已經在環境變數中

如果是pycharm,則不會預設當前目錄已經在環境變數中,需要配置一下:參考這篇部落格

如果python 從乙個資料夾裡匯入py檔案,需要在這個資料夾裡寫乙個__init__.py的檔案,初始化一些資料或者直接是空檔案。 

這樣就可以解決importerror:no module named **了

比如

呼叫的話可以在main裡這樣呼叫

from b import b

原文:原文

在 python 中,每乙個 py 檔案都稱為模組,每乙個具有  __init__.py 檔案的目錄稱為包。

python 的搜尋路徑是乙個列表,匯入模組時,python 會自動搜尋這個列表中的路徑,如果路徑中存在要匯入的模組檔案,則匯入成功。即只要模組或者包所在的目錄在 sys.path 中,就可以使用 import 模組或者 import 包來使用。

搜尋路徑,即sys.path,由一下幾部分構成

程式的主目錄

pythonpath目錄

標準鏈結庫目錄(/usr/local/lib/python2.7)

任何的 .pth 檔案的內容

所以可以修改 bashrc 中 的 pythonpath 變數,或者在 sys.path 新增路徑(**中暫時新增),將模組放到標準連線庫目錄下,在 sys.path 的某乙個路徑下增加 .pth 檔案(內容為模組所在的目錄)。

第二種方法如下:

目錄如下的檔案系統:

--test

--a.py

--bbb

--b.py

--__init__.py

結果如下:

可以看到將模組 a.py 和包 bbb 所在的 test 目錄加到 sys.path 中就可以找到他們了

python2 和python3在不同資料夾引入相應的py檔案的區別是前面不需要加.例如

python2用法 引入misc資料夾中的utils.py

import misc.utils as utils

python3用法 引入misc資料夾中的utils.py

import .misc.utils as utils

原文:同一資料夾

原文:不同資料夾

Python呼叫同一目錄下的模組

aa.py檔案如下 def aaout print it is an aa funcition.bb.py中需要呼叫aa.py檔案,cc.py為主檔案 1 若cc.py位於mydir資料夾內,則bb.py呼叫aa.py時需要在aa前面加上 例如,此時bb.py為 from.aa import aao...

關於pycharm在同一目錄下無法匯入 py檔案

如圖 在同乙個目錄下明明是存在相應的檔案的,在另乙個檔案中匯入卻報錯,編譯器提示沒有對應的模組。當前資料夾郵件,選中mark directory as sources root 此時資料夾如圖呈現藍色,表明此資料夾為資源資料夾。此時,在檔案中引入方式為直接import 注 1.在不同的資料夾路徑下,...

cmake 同一目錄下多個原始檔

接下來進入稍微複雜的例子 在同乙個目錄下有多個原始檔。在之前的目錄下新增2個檔案,testfunc.c和testfunc.h。新增完後整體檔案結構如下 testfunc.c內容如下 testfunc.c include include testfunc.h void func int data te...