Python如何import文件夹下的文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python如何import文件夹下的文件相关的知识,希望对你有一定的参考价值。

参考技术A 要包含目录里的文件,php中只需要给对路径就OK。Python中则不同,下面来看看这个例子。目录结构:
a.py 要 import dir目录下的 b.py 文件。a.py代码如下:
# coding=utf-8
import dir 目录下的 b.py 文件
import dir.b
print dir.b.name
执行 a.py 报错
提示找不到这个模块的名字 dir.b 。通过查找官方文档,发现要包含目录下的文件时需要在目录下声明一个__init__.py文件,即使这个文件是空的也可以。当然这个文件也可以初始一些数据。
于是在 dir 下新建 __init__.py文件,目录结构如下:本回答被提问者采纳

python文件结构与import用法

首先上一张总结图:

在pycharm中,一般不会将当前文件目录自动加入自己的sourse_path。如果遇到无法import同级目录下的其他模块,

右键make_directory as-->Sources Root将当前工作的文件夹加入source_path就可以了。

 

但是那个总结图非常的不协调,下面来详细说明:

(1)同一个包中不同模块互相引用

在确认把此文件夹路径加入sourcepath的前提下:【from 模块名 import 类名】

 

(2)同一个文件夹中的不同包互相引用

有三种写法:

--可以直接引用对方的模块:【from 模块名 import 类名】

 

--如果在各自包的__init__.py文件夹中什么也没写的话,其中包名前面的两个点表示上一级目录下的文件

--在包的__init__.py中先写上自己的引用

然后就可以直接用包名引用类名:

 

(3)不同文件夹中的不同包的互相引用

 

只不过是多写一个目录的事情,当然如果在wx_video中的__init___.py文件中已经引用过自己的类,难么就可以直接通过包名import类

总结:

1、当你导入一个包的时候,实际上导入的是这个包的 __init__.py文件,所以,如果你在init里面写入了其他的import功能,就等于是在初始化的时候帮忙导入了其他东西。 

2、每一个包目录下面都会有一个__init___.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。__init__.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块。

以上是关于Python如何import文件夹下的文件的主要内容,如果未能解决你的问题,请参考以下文章

python怎么import指定文件夹下的模块

Python引用(import)文件夹下的py文件的方法

Python import 同文件夹下的py文件的函数,pycharm报错

JAVA中,如何import自己写的类文件?

Java 如何读取目录下的文件内容

使用python对文件夹下的照片进行批量修改尺寸