我有一个类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' –