菜单python命令行
我有这个菜单。它动态加载一个类并调用一个方法。一切都很好,但方法在我写“退出”时打印hello。欢迎提出任何建议菜单python命令行,python,command-line,menu,Python,Command Line,Menu,我有这个菜单。它动态加载一个类并调用一个方法。一切都很好,但方法在我写“退出”时打印hello。欢迎提出任何建议 class ClassA(object): def main(self): libs = self.directory() print '***************************************************' print '* Menu' for item in libs :
class ClassA(object):
def main(self):
libs = self.directory()
print '***************************************************'
print '* Menu'
for item in libs :
print '** ' + item
print '***************************************************'
while True:
module_name = raw_input(">>> ")
if module_name != "":
if module_name == 'exit':
break
elif module_name in libs:
lib = __import__(module_name)
class_ = getattr(lib, module_name)
theclass = class_()
theclass.myfunction()
break
else:
print 'Module does not exist'
B类
class ClassB(object):
def myfunction(self):
print 'hello'
对代码进行一些重大修改后,这可能就是您想要的:
import glob
class ClassB():
def myfunction(self):
print 'hello'
if __name__ == '__main__':
libs = [item[:-3] for item in glob.glob("*.py")]
print '***************************************************'
print '* Menu'
for item in libs :
print '** ' + item
print '***************************************************'
while True:
module_name = raw_input(">>> ")
if module_name != "":
if module_name == 'exit':
break
if module_name in libs:
lib = __import__(module_name)
class_ = getattr(lib, 'ClassB')
theclass = class_()
theclass.myfunction()
break
else:
print 'Module does not exist'
. 当我键入“退出”时,不会打印“Hello”。请提供一份展示您的问题的表格,包括您给出的确切输入、您收到的确切输出以及您期望的确切输出。不客气,请随时将此问题标记为正确答案;)