Python自定义包引入

2018-01-01  本文已影响0人  御风而行carrie

测试目录如下:
.
├── foldA
│ ├── init.py
│ └── moduleA.py
├── foldB
│ ├── init.py
│ └── moduleB.py
├── moduletree.py
├── moduletree.pyc
├── my_test.py
├── my_test.py~
└── parentmodule.py

同目录下引用 -- my_test.py 引用 moduletree.py

#coding=utf-8

def moduletree_test():
    print '同一目录下引用测试'

#coding=utf-8
import moduletree


def main():
    print '引用测试:'
    moduletree.moduletree_test()


if __name__ == '__main__':
    main()

Output:
引用测试:
同一目录下引用测试

引用子目录下文件 -- my_test.py 引用 /foldA/moduleA.py

#coding=utf-8

def moduleA_test():
    print '引用了/foldA/下的moduleA的内容'
#coding=utf-8
import foldA.moduleA


def main():
    print '引用测试:'
    foldA.moduleA.moduleA_test()


if __name__ == '__main__':
    main()
#coding=utf-8
from foldA import moduleA

def main():
    print '引用测试:'
    moduleA.moduleA_test()


if __name__ == '__main__':
    main()
Output:
引用测试:
引用了/foldA/下的moduleA的内容

同级子目录引用 -- /foldB/moduleB.py 引用 /foldA/moduleA.py

#coding=utf-8

def moduleA_test():
    print '引用了/foldA/下的moduleA的内容'
#coding=utf-8
import sys
sys.path.append("..") # 回退到上一级目录
import foldA.moduleA

def moduleB_test():
    print '/foldB/moduleB.py引用了:'
    foldA.moduleA.moduleA_test()


if __name__ == '__main__':
    moduleB_test()
#coding=utf-8
import sys
sys.path.append("..") # 回退到上一级目录
from foldA import moduleA

def moduleB_test():
    print '/foldB/moduleB.py引用了:'
    moduleA.moduleA_test()

if __name__ == '__main__':
    moduleB_test()
Output:
/foldB/moduleB.py引用了:
引用了/foldA/下的moduleA的内容

子目录引用父目录 -- /foldB/moduleB.py引用/parentmodule.py

#coding=utf-8

def parentmodule_test():
    print '引用了/parentmodule.py的内容'
#coding=utf-8
import sys
sys.path.append("..") # 回退到上一级目录
import parentmodule

def moduleB_test():
    print '/foldB/moduleB.py引用了:'
    parentmodule.parentmodule_test()

if __name__ == '__main__':
    moduleB_test()


#coding=utf-8
import sys
sys.path.append("..") # 回退到上一级目录
from parentmodule import parentmodule_test

def moduleB_test():
    print '/foldB/moduleB.py引用了:'
    parentmodule_test()

if __name__ == '__main__':
    moduleB_test()

Output:
/foldB/moduleB.py引用了:
引用了/parentmodule.py的内容

in a nutshell


2018.01.01(一个值得纪念的日子呀,新年快乐,要更好!!!)

上一篇 下一篇

猜你喜欢

热点阅读