python各层级目录下import方法代码实例

时间:2021-05-22

这篇文章主要介绍了python各层级目录下import方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

以前经常使用python2.现在很多东西都切换到了python3,发现很多东西还是存在一些差异化的。跨目录import是常用的一种方法,并且有不同的表现形式,新手很容易搞混。有必要这里做个总结,给大家科普一下:

1 同级目录下的调用:

同级目录下的调用比较简单,一般使用场景是不同类的相互调用。不用考虑路径问题,常用的格式是:from file import * 或者 from file import class/function 等。

下面以一个例子作为说明:

程序结构:

➜ dir_test git:(master) ✗ tree.├── pycache│ └── test1.cpython-37.pyc├── dir1│ └── test3.py├── test1.py└── test2.py

代码:

from test1 import *# the below is also ok#from test1 import dir_testdef test_file2(): print("this is test file2")dir_test()test_file2()

2 子目录下的调用:

子目录下的函数调用,正常的情况下,需要包含子目录的,常用的格式如下:form dir1.file import * 或者: from dir1 import file等。

下面以一个例子说明:

➜ dir_test git:(master) ✗ tree.├── pycache│ └── test1.cpython-37.pyc├── dir1│ ├── pycache│ │ └── test3.cpython-37.pyc│ └── test3.py├── test1.py└── test2.py

代码:

from test1 import *# the below is also ok#from test1 import dir_testfrom dir1.test3 import *def test_file2(): print("this is test file2")dir_test()dir1_test()

3 上级目录下的调用:

上级目录调用要比上两种复杂,这里要用到sys函数,首先要在将要调用的文件下面建一个空文件:init.py 然后在调用这个文件的文件里面添加:sys.path.append("…"),才可以调用成功:

下面是一个例子:文件结构:

➜ dir_test git:(master) ✗ tree.├── pycache│ └── test1.cpython-37.pyc├── dir1│ ├── init.py│ ├── pycache│ │ ├── init.cpython-37.pyc│ │ └── test3.cpython-37.pyc│ └── test3.py├── dir2│ └── test4.py├── test1.py└── test2.py

代码:

#!python3import syssys.path.append("..")from dir1.test3 import *#import dir1

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章