我有一個類master.py
與Glade有關的Gui。我有一個帶有事件的按鈕。 所有我想要的是從另一個類另一個python文件中調用另外兩個方法,但NameError:全局名稱'Airmong'未定義 錯誤被拋出。NameError:沒有定義全局名'classObject'PYTHON
這些文件位於相同的文件夾! master.py文件包含:
#!/usr/bin/python
# -*- coding: utf-8 -*-
from gi.repository import Gtk
from airmong import Airmong
class Handler:
airmonObj=Airmong();
def airmon_clicked(self, button):
airmonObj.startAirmong()
builder = Gtk.Builder()
builder.add_from_file("master.glade")
builder.connect_signals(Handler())
window = builder.get_object("window1")
window.connect("delete-event", Gtk.main_quit)
window.show_all()
Gtk.main()
airmong.py文件包含:
#!/usr/bin/python
# -*- coding: utf-8 -*-
class Airmong:
def __init__(self):
pass
def stopAirmong(self):
result = subprocess.check_call(['airmon-ng','stop' ,'wlan0mon'])
if result == 0:
print "Success stopping airmong"
else:
print "CAN'T stop airmong"
def startAirmong(self):
result=subprocess.check_call(['airmon-ng','start','wlan0'])
if result == 0:
print "Success starting airmong"
else:
print "CAN'T start airmong"
我在做什麼錯誤非常感謝
錯誤:
Traceback (most recent call last):
File "./master.py", line 9, in airmon_clicked
airmonObj.startAirmong();
NameError: global name 'airmonObj' is not defined
?試試'airmong'。 –
同樣的錯誤,對不起 – TrulyXax
是你的文件是'airmong.py'還是'Airmong.py'?嘗試'從Airmong進口Airmong' –