如何导入类名python

时间:2016-05-13 07:04:46

标签: python import python-import

这是我的python文件夹结构(它没有任何python包):

 folder/
    script1.py
    script2.py

script1有:

class myclass(object):
    def __init__():
        print("in init")

    def showReport():
        print("in report only function")

script2有:

from . import myclass

当我运行python -m folder.script2

我得到/usr/bin/python: cannot import name myclass

如何导入此类以便我可以在script2上调用此类的函数?

2 个答案:

答案 0 :(得分:2)

尝试使用from script1 import myclass

答案 1 :(得分:1)

你说你有一个软件包,但你仍然需要引用包含你的班级script1模块 myclass,所以:

from .script1 import myclass

P.S。在Python中,习惯使用驼峰大小写来表示类名,因此MyClass不是myclass

实施例

使用名为package和模块module1module2的工具包的工作示例,然后从package外部调用python -m package.module2

➜  ~  tree package

├── __init__.py
├── module1.py
└── module2.py

➜  ~  cat package/module1.py 

class MyClass(object):
    def work(self):
        print 'Working!'

➜  ~  cat package/module2.py 

from .module1 import MyClass

if __name__ == '__main__':
    worker = MyClass()
    worker.work()

➜  ~  python -m package.module2  

Working!