4
在python中如何創建一個函數,可以是所有被調用的類中使用的全局函數? 下面是一個例子:在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一樣,以便可以在任何地方調用它?還是有更好的方式來做我想在這裏完成的事情?
檢查您收到的錯誤消息。應該沒有理由不能從類初始值設定項調用notify(),但類名FTP沒有聲明。 – 2011-04-23 01:04:17
你的通知調用'sys.exit()',所以永遠不會調用main中的zoneFTP()。 – Keith 2011-04-23 01:13:44
@Steve正確,上面的代碼是從我正在處理的一個更大的項目中挑選的,我錯過了這個部分。我修正了代碼示例。 – lanrat 2011-04-23 01:20:34