如何在后续模块中使用已导入的模块调用Python

时间:2017-02-22 14:44:53

标签: python-3.x

我试图了解如何在Python中使用Logging模块。

我有以下主要代码:

import logging
import First
logging.basicConfig(level=logging.DEBUG,format='%(asctime)s %(levelname)s %(message)s',filename=r'C:\Users\bhatsubh\Desktop\Everything\Codes\Python\Logs\automation.log',filemode='a')
logging.debug('A debug message')
logging.info('Some information')
logging.warning('A shot across the bows')
logging.error('Committed a blunder')
obj = First.Demo("Subhayan",75000)
print (obj.getSal())

First.py模块包含以下代码:

class Demo:
    def __init__(self,Name,salary):
        logging.info("Inside Demo init")
        self.name = Name
        self.salary = salary
    def getSal(self):
        logging.info("Inside Demo getSal")
        sal = self.salary * 100
        return sal

现在在某种程度上,我可以在我的模块文件的顶层导入模块日志,然后在其余的调用中使用它,而不是在每个其他文件中再次导入它。?

非常感谢您提供任何解释。

1 个答案:

答案 0 :(得分:0)

我真的建议只导入两个文件。解释了Python如何处理导入here

否则如果你真的想那么你就可以这样做。

First.py

math = None # declare a name for your module

def func():
    print(math.pi)

main.py

import First
import math # using math module as example

test2.math = math
test2.func()

现在问题在于,First现在依赖于设置math属性。如果这是一个问题,那么您可以将其更改为。

def func():
    print(math.pi)

if __name__ == '__main__':
    import math
else:
    math = None