启动和停止python函数

时间:2015-12-16 23:32:10

标签: python

我有一个循环函数,只应在变量dd设置为1时运行。我还有两个应该启动和停止它的类。 Start()将dd设置为1并运行循环。 Stop()将dd设置为0.但问题是变量在运行Start()时不会从原始值0变化,反之亦然,如果设置为1则从变量开始。

  class Class1(object):

      def Function(self, a):
          print a

      def startProgram(self):
          with open('data\blah.txt') as e:
              for i in e:
                  if dd == 1:
                      self.Function(i)

      def Start(self):
          dd = 1
          self.startProgram()

      def Stop(self):
         dd = 0

2 个答案:

答案 0 :(得分:0)

您似乎希望自己的班级Class1拥有变量dd,该变量可以设置为1或0.为此,您需要使用self.dd

看看this post。它很好地解释了如何在Python中分配变量。

答案 1 :(得分:0)

除了有两个<!doctype html> <head> <meta charset="utf-8"> <title>Untitled Document</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> </head> <body> <h1 id="speciesTitle">Species in County</h1> </body> </html> 变量的问题,每个方法都有一个,我不太明白你在执行dd时怎么能调用Stop

在我看来,你正试图实现一个线程:

startProgram

编辑:

您可以将其用作:

class Class1(threading.Thread):
    def __init__(self):
        super(Class1, self).__init__()
        self.dd = True

    def function(self, a):
        print a

    def run(self):
        with open('data\blah.txt') as e:
            for i in e:
                if self.dd:
                    self.function(i)
                # maybe else: break?

    def stop(self):
       self.dd = False