Python导入不同文件夹中文件的方法详解
前言
在写 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导入不同文件夹文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
python使用pandas读取json文件并进行刷选导出xlsx文件的方法示例
这篇文章主要介绍了python使用pandas读取json文件并进行刷选导出xlsx文件的方法,结合实例形式分析了python调用pandas模块针对json数据操作的相关使用技巧,需要的朋友可以参考下2023-06-06
centos6.5安装python3.7.1之后无法使用pip的解决方案
今天小编就为大家分享一篇关于centos6.5安装python3.7.1之后无法使用pip的解决方案,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2019-02-02
完美解决Pycharm无法导入包的问题 Unresolved reference
今天小编就为大家分享一篇完美解决Pycharm无法导入包的问题 Unresolved reference,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-05-05
python解析html提取数据,并生成word文档实例解析
这篇文章主要介绍了python解析html提取数据,并生成word文档实例解析,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下2018-01-01


最新评论