在python中创建一个全局函数

时间:2011-04-23 01:01:20

标签: python global-variables global

在python中,我如何创建一个可以在所有被调用的类中使用的全局函数? 这是一个例子:

import configparser
import os
import sys
from datetime import datetime
from ftplib import FTP

def notify(msg):
    echo = True
    log = True
    if echo:
        print(msg)
    if log:
        f = open('log.txt','a')
        msg = datetime.now().strftime("%y-%m-%d-%H:%M:%S")+': ' + msg
        f.write(msg)
        f.close()
    #sys.exit()  #removing this was the fix!

class zoneFTP():
    def __init__(self):
        self.conn = FTP()
        self.dir = './'
        notify('The dir is :' + self.dir)

def main():
    notify('starting')
    ftp = zoneFTP()

if __name__ == "__main__":
    main()

在zoneFTP类中调用notify()失败。如何使notify()函数像python内置函数之一一样,以便可以在任何地方调用它?或者有更好的方法来做我想在这里完成的事情吗?

1 个答案:

答案 0 :(得分:6)

notify()放入实用程序模块中,让所有其他模块导入它。