pythonPytorchPython语言与信息数据获取和机器学习

python同级文件夹导包

2017-12-27  本文已影响36人  ciantian

python同级文件夹导包

在项目文件夹中新建__init__.py文件 (若使用pytcharm新建python package会自带__init__.py)
父亲节点中的python文件可调用子文件夹中的节点,如下图中f3可调用f2和f1,而兄弟节点文件夹中的文件不能相互调用f2和f1则不能相互调用.

├── a
│   ├── f1.py
│   ├── __init__.py
├── b
│   ├── f2.py
│   ├── __init__.py
├── f3.py
└── __init__.py

若在f2和f1最前面添加

import sys
import os
currentUrl = os.path.dirname(__file__)
parentUrl = os.path.abspath(os.path.join(currentUrl, os.pardir))
# print(parentUrl)
sys.path.append(parentUrl)

在f1中使用from b.f2 import *即可调用.
f1

import sys
import os
currentUrl = os.path.dirname(__file__)
parentUrl = os.path.abspath(os.path.join(currentUrl, os.pardir))
sys.path.append(parentUrl)
from b.f2 import *
def main():
    print('f1')
if __name__ == '__main__':
    main()

f2

import sys
import os
currentUrl = os.path.dirname(__file__)
parentUrl = os.path.abspath(os.path.join(currentUrl, os.pardir))
sys.path.append(parentUrl)
def main():
    print('f2')
if __name__ == '__main__':
    main()

f3

from a.f1 import *
from b.f2 import *
print('ceshi')

参考记录

上一篇下一篇

猜你喜欢

热点阅读