-1
我正在嘗試爲Skype開發一個機器人,並且我在某些類中遇到了困難,以及如何僅使用一個實例而不是在另一個文件中創建新實例。在不創建新實例的情況下在其他類中使用其他類功能
我在其中機器人從運行很多文件,我想只能通過Global.py
文件使用一個實例:
from classes import class_Core
from classes import class_Skype
from classes import class_Message
from classes import class_Commands
global Core, Skype, Message, Commands
Core = class_Core.Core()
Skype = class_Skype.Skype()
Message = class_Message.Message()
Commands = class_Commands.Commands()
我也有一個Skypebot.py
文件,該文件導入Global.py
文件:
import Global
但是,當我運行Skypebot.py
並使用Skype類中的某個功能時:
class Skype:
def __init__(self):
Core.Log("Initialising Skype!")
我得到一個回溯:
Traceback (most recent call last):
File "C:\Users\Connor\Desktop\Skypebot 0.4\Skypebot.py", line 1, in <module>
import Global
File "C:\Users\Connor\Desktop\Skypebot 0.4\Global.py", line 9, in <module>
Skype = class_Skype.Skype()
File "C:\Users\Connor\Desktop\Skypebot 0.4\classes\class_Skype.py", line 8, in
__init__
Core.Log("Initialising Skype!")
NameError: global name 'Core' is not defined
任何人可以幫助我在這?謝謝!
可能重複http://stackoverflow.com/questions/19358582/how-do-i-access-inherited-變量來自另一個模塊當它們被改變時) –
在您正在使用它的函數中去除那些全局變量。 – Arvind
我不這麼認爲,@JoelCornett,但是謝謝!我沒有試圖繼承任何函數,只是在其他類中使用Global.py文件中的實例,而不在類中創建新實例。 –