Python導(dǎo)入不同文件夾中文件的方法詳解
前言
在寫 python 程序的時(shí)候,經(jīng)常會(huì)用到引入其他文件夾里的 py 文件,要是都在同目錄下直接 import 就好了,可是有的不在同一個(gè)目錄,很多時(shí)候就直接 import 報(bào)錯(cuò)了。下面介紹導(dǎo)入文件的方法:
一、導(dǎo)入同一目錄下的文件
如下圖,main.py 和 config.py 文件都在同一個(gè)目錄。
如果要在 mian.py 中導(dǎo)入 config.py,代碼如下:
import config
二、導(dǎo)入不同目錄下的文件
1、 調(diào)用子目錄下的文件
目錄如下:
如果要在 main.py 中導(dǎo)入同級(jí)目錄下的子目錄文件 BERT_BiLSTM_CRF.py,就必須在 model 文件夾下建立空文件__init__.py文件。新的目錄結(jié)構(gòu)如下:
導(dǎo)入代碼如下:
from model.BERT_BiLSTM_CRF import BERT_BiLSTM_CRF # 導(dǎo)入文件下的 BERT_BiLSTM_CRF 函數(shù)
2、導(dǎo)入上級(jí)目錄下的文件
目錄如下:
想要實(shí)現(xiàn) main.py 調(diào)用 BERT_BiLSTM_CRF.py,做法是先跳到上級(jí)目錄 BERT-Chinese-NER-pytorch 下面,然后在 model 目錄下建一個(gè)空文件 init.py ,就可以像第二步調(diào)用子目錄下的模塊一樣進(jìn)行調(diào)用了。新的目錄結(jié)構(gòu)如下:
導(dǎo)入代碼如下:
import sys sys.path.append("..") # 跳到上級(jí)目錄下面(sys.path添加目錄時(shí)注意是在windows還是在Linux下,windows下需要‘\\'否則會(huì)出錯(cuò)。) from model.BERT_BiLSTM_CRF import BERT_BiLSTM_CRF # 導(dǎo)入
關(guān)于 init.py
在 python 模塊的每一個(gè)包中,都有一個(gè) init.py 文件(這個(gè)文件定義了包的屬性和方法),然后是一些模塊文件和子目錄,假如子目錄中也有__init__.py ,那么它就是這個(gè)包的子包了。當(dāng)你將一個(gè)包作為模塊導(dǎo)入(比如從 xml 導(dǎo)入 dom )的時(shí)候,實(shí)際上導(dǎo)入了它的__init__.py 文件。
一個(gè)包是一個(gè)帶有特殊文件 __init__.py 的目錄,__init__.py 文件定義了包的屬性和方法。其實(shí)它可以什么也不定義,可以只是一個(gè)空文件,但是必須存在。如果 __init__.py 不存在,這個(gè)目錄就僅僅是一個(gè)目錄,而不是一個(gè)包,它就不能被導(dǎo)入或者包含其它的模塊和嵌套包。
附:python 導(dǎo)入一個(gè)文件夾下的所有文件
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)
總結(jié)
到此這篇關(guān)于Python導(dǎo)入不同文件夾中文件的文章就介紹到這了,更多相關(guān)Python導(dǎo)入不同文件夾文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python網(wǎng)絡(luò)爬蟲信息提取mooc代碼實(shí)例
這篇文章主要介紹了python網(wǎng)絡(luò)爬蟲與信息提取mooc,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03pytorch:實(shí)現(xiàn)簡(jiǎn)單的GAN示例(MNIST數(shù)據(jù)集)
今天小編就為大家分享一篇pytorch:實(shí)現(xiàn)簡(jiǎn)單的GAN示例(MNIST數(shù)據(jù)集),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01python interpret庫(kù)訓(xùn)練模型助力機(jī)器學(xué)習(xí)
這篇文章主要為大家介紹了python interpret庫(kù)訓(xùn)練模型功能特性,為你的機(jī)器學(xué)習(xí)提供便捷的路徑,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01Python操作Sql Server 2008數(shù)據(jù)庫(kù)的方法詳解
這篇文章主要介紹了Python操作Sql Server 2008數(shù)據(jù)庫(kù)的方法,結(jié)合實(shí)例形式分析了Python使用pyodbc庫(kù)操作Sql Server 2008數(shù)據(jù)庫(kù)的連接、執(zhí)行sql語(yǔ)句、關(guān)閉連接等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-05-05Python復(fù)制Excel帶有條件格式的單元格sheet實(shí)現(xiàn)步驟
這篇文章主要為大家介紹了Python復(fù)制Excel帶有條件格式的單元格sheet實(shí)現(xiàn)步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07在Python中字符串、列表、元組、字典之間的相互轉(zhuǎn)換
這篇文章主要介紹了在Python中字符串、列表、元組、字典之間的相互轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11