создать глобальную функцию в Python - PullRequest
5 голосов
/ 23 апреля 2011

Как в 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()

Сбой вызова notify() в классе zoneFTP.Как сделать функцию notify() похожей на одну из встроенных функций python, чтобы ее можно было вызывать где угодно?Или есть лучший способ сделать то, что я пытаюсь сделать здесь?

1 Ответ

6 голосов
/ 23 апреля 2011

Поместите notify() в служебный модуль и попросите все остальные модули импортировать его.

...