2012-06-18 53 views
0

我想在多個模塊中使用以下類,而不需要在每個模塊中都使用log = InitLog()。我需要能夠跨多個模塊使用一個定義的類變量(在本例中爲log)。在不改變當前代碼的情況下,做到這一點的最佳方法是什麼?由於Python 3,跨多個模塊使用的一個類

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() 

回答

2

創建一個名爲logging模塊,其中包含log。在其他模塊中使用from logging import log

+0

就是我之後。謝謝 – Rhys