不同目录间模块调用
import os
import sys
BASE_DIR= os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)
from xxx import xxx
######################
import os
import sys
print(os.path.abspath(__file__))
print(os.path.dirname(os.path.abspath(__file__)))
print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)
from core import main
main.login()
print(globals())
################
### 程序结构:
```
shopping_atm/
|-- shopping/
| |-- __init__.py
| |-- shopping.py
| |-- user_info
| |-- zhangfeilast_buy
|
|-- atm/
| |-- __init__.py
| |-- main.py
| |-- bin/
| |-- __init__.py
| |-- atm.py
| |-- conf/
| |-- __init__.py
| |-- core/
| |-- __init__.py
| |-- main.py
| |-- db/
| |-- __init__.py
| |-- 12345.bak
| |-- 12345.dat
| |-- 12345.dir
| |-- 54321.bak
| |-- 54321.dat
| |-- 54321.dir
|-- README.txt
对于上面的程序结构,假如我们想在shopping的shopping.py中调用atm/core/main.py中的pay()函数。
可以在shopping.py中加入以下内容:
os sys BASE_DIR= os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(BASE_DIR) atm.core main