Python 跨目录导入文件问题

Posted jasmine0627

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 跨目录导入文件问题相关的知识,希望对你有一定的参考价值。

1、同级目录下调用

若在程序 testone.py 中导入模块 testtwo.py , 则直接使用

【import testtwo 或 from testtwo  import *】

2、调用子目录下的模块

若在程序 testone.py 中导入模块 test1_1.py , 则test1文件夹下必须要有 __init__.py 文件,此时的 test1 就是一个包

导入如下:

【import test1.test1_1 或 from test1.test1_1 import *】

3、调用上级目录下的文件

若在程序 test2_1.py 中导入模块 test1_1.py 和 testone.py。做法是我们先跳到test目录下面,直接可以调用 testone.py,然后在 test1 下建一个空文件__init__.py ,就可以像第二步调用子目录下的模块一样,通过 import test1.test1_1进行调用了。

 具体代码如下:

普通文件夹与包的区别:

普通文件夹下没有__init__.py文件,而包下面是有一个__init__.py文件的

普通文件夹(Directory)

因为此时test文件下下没有__init__.py文件,所以只是一个普通的文件夹,普通的文件夹是不能作为一个模块导入的

 

包(Python Package)

新建一个包之后,会自动生成一个__init__.py文件

 

参考资料:https://www.jb51.net/article/126941.htm

以上是关于Python 跨目录导入文件问题的主要内容,如果未能解决你的问题,请参考以下文章

Python全栈之路----常用模块----包及跨模块导入

解决python开发中模块冲突的具体方法?

在python程序编写过程中,如何解决模块名称冲突?

跨模块和全局变量的 Python 导入

导入模块方式(尽量少用from xx import *)以及包的定义,跨目录运行包和模块(未完)

我可以跨同一个 python 包的模块重用导入吗?