【问题标题】:Python 3, one class used across multiple modulesPython 3,一个跨多个模块使用的类
【发布时间】:2012-06-20 07:20:04
【问题描述】:

我想在多个模块中使用以下类,而不需要在每个模块中使用log = InitLog()。我需要能够跨多个模块使用一个定义的类变量(在此示例中为 log)。在不彻底改变我当前的代码的情况下,最好的方法是什么。谢谢

import os
import sys
import pdb
import fileinput
import Tools


class InitLog:
    def __init__(self):
        pass
    def setLaws(self):
        self.sound = 'off'
        self.engine = 'goo.txt'

    def Update(self):
        while Tools.Locked.State.LogAddress == True: pass
        Tools.Locked.State.LogAddress = True
        try: os.remove(path + '/' + self.dest + '/init.log')
        except: pass

        summery = 'sound: ' + self.sound + '\n'
        summery += 'engine: ' + self.engine + '\n'

        path = os.getcwd()
        if not os.path.exists(self.dest): os.makedirs(self.dest)
        if os.path.isfile(path + '/' + self.dest + '/init.log') == True: os.remove(path + '/' + self.dest + '/init.log')
        with open (path + '/' + self.dest + '/init.log', mode='a', encoding='utf-8') as a_file:
            a_file.write(summery)
        Tools.Locked.State.LogAddress = False


Tools.Locked.State.LogAddress = False
log = InitLog()
log.setLaws()
log.sound = 'on'
log.Update()

【问题讨论】:

    标签: class function python-3.x


    【解决方案1】:

    创建一个名为logging 的模块,其中包含log。在其他模块中使用from logging import log

    【讨论】:

      猜你喜欢
      • 2018-08-31
      • 2020-07-02
      • 2015-04-01
      • 2018-04-28
      • 2011-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多