Python类服务

时间:2015-10-15 12:19:41

标签: python python-2.7 singleton

我有一个名为Camera的类,它使用Python在Linux上初始化网络摄像头,但我遇到了该类的问题。我想在多个程序中使用该类。我让班级成为单身人士。当我在同一个程序中多次访问该类时,它可以完美地工作,它返回一个实例。但是当我从其他程序访问该类时,它会创建其他实例。例如:

class Camera():
    __new__():
    .....
    .....
    print "__new__ called"
    __init__():
       get_frame();
       print "__instance created"

c1 = Camera()
c2 = Camera()
Results:
__new__ called
__instance created
__new__ called

但我想从多个程序访问该类,如:

main1.py
main2.py 
main3.py

我想从多个程序访问此类,我希望该类只初始化一次,然后将相同的实例返回给调用此类的每个程序。

有没有办法创建Camera类的程序或服务,我单独运行该类,我将从其他程序访问类的元素?

请举例说明如何将该类作为应用程序或服务运行,以及如何在其他程序中调用该运行类的元素。

1 个答案:

答案 0 :(得分:0)

只创建一个实例,然后将其导入其他程序。

Camera.py:

class Camera():
    def __init__(self):
        print "__instance created"

    def someFunc(self):
        print "Cool stuff here!"

c1 = Camera()

file2.py:

import Camera

c2 = Camera.c1

要调用方法,请使用c2.someFunc()