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
python新手代码例子#from test1 import dir_test
def 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_test
st3 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
代码:
#!python3
import sys
sys.path.append("…")
st3 import *
#import dir1
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论