首頁 > 軟體

Python匯入不同資料夾中檔案的方法詳解

2022-06-14 18:00:40

前言

在寫 python 程式的時候,經常會用到引入其他資料夾裡的 py 檔案,要是都在同目錄下直接 import 就好了,可是有的不在同一個目錄,很多時候就直接 import 報錯了。下面介紹匯入檔案的方法:

一、匯入同一目錄下的檔案

如下圖,main.py 和 config.py 檔案都在同一個目錄。

如果要在 mian.py 中匯入 config.py,程式碼如下:

import config

二、匯入不同目錄下的檔案

1、 呼叫子目錄下的檔案

目錄如下:

如果要在 main.py 中匯入同級目錄下的子目錄檔案 BERT_BiLSTM_CRF.py,就必須在 model 資料夾下建立空檔案__init__.py檔案。新的目錄結構如下:

匯入程式碼如下:

from model.BERT_BiLSTM_CRF import BERT_BiLSTM_CRF    # 匯入檔案下的 BERT_BiLSTM_CRF 函數

2、匯入上級目錄下的檔案

目錄如下:

想要實現 main.py 呼叫 BERT_BiLSTM_CRF.py,做法是先跳到上級目錄 BERT-Chinese-NER-pytorch 下面,然後在 model 目錄下建一個空檔案 init.py ,就可以像第二步呼叫子目錄下的模組一樣進行呼叫了。新的目錄結構如下:

匯入程式碼如下:

import sys
sys.path.append("..")    # 跳到上級目錄下面(sys.path新增目錄時注意是在windows還是在Linux下,windows下需要‘\'否則會出錯。)
from model.BERT_BiLSTM_CRF import BERT_BiLSTM_CRF    # 匯入

關於 init.py

在 python 模組的每一個包中,都有一個 init.py 檔案(這個檔案定義了包的屬性和方法),然後是一些模組檔案和子目錄,假如子目錄中也有__init__.py ,那麼它就是這個包的子包了。當你將一個包作為模組匯入(比如從 xml 匯入 dom )的時候,實際上匯入了它的__init__.py 檔案。

一個包是一個帶有特殊檔案 __init__.py 的目錄,__init__.py 檔案定義了包的屬性和方法。其實它可以什麼也不定義,可以只是一個空檔案,但是必須存在。如果 __init__.py 不存在,這個目錄就僅僅是一個目錄,而不是一個包,它就不能被匯入或者包含其它的模組和巢狀包。

附:python 匯入一個資料夾下的所有檔案

import os

path=""			#填寫自己想要讀取的資料夾路徑
files=os.listdir(path)

text=''
for file in files:
     position=path+file
#     print(position)
    with open(position ,'r',encoding='utf-8') as f:
        for line in f.readlines():
           text+=line      
print(text)

總結

到此這篇關於Python匯入不同資料夾中檔案的文章就介紹到這了,更多相關Python匯入不同資料夾檔案內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com