在Python中的模块内部导入模块
我正在尝试创建选项的层次结构。我可以创建第一个选项列表:在Python中的模块内部导入模块,python,import,menu,hierarchy,Python,Import,Menu,Hierarchy,我正在尝试创建选项的层次结构。我可以创建第一个选项列表: 狐猴 大猩猩 黑猩猩 如果用户为Lemur选择选项1,那么我将运行Lemur.LE()函数,因为我已经导入了Lemur模块。然后,他们将看到另一组选项: 白兰地 雪茄 剃须膏 选择一只不同的猴子 选项4运行一个中断,将它们发送回第一个列表。我试图重复第一个体系结构中的操作,以便在调用Lemur.LE()函数时通过导入让他们选择Shaven.SC(),但是如果我在函数启动之前放置导入,那么当我第一次导入Lemur时,如果我从“LE()中调用
begin = int(raw_input("""Options 1-6"""))
elif begin == 3:
L.Leg()
elif begin == 6:
print "Goodbye"
exit()
Level 2:
def Leg():
begin = int(raw_input("""options 1-5"""))
elif begin == 2:
import LegacyWT
else:
print "Returning to Main Menu."
break
如果没有代码示例,就不清楚您做错了什么。一般来说,import和其他语句一样是一个语句,可以在任何范围内使用。因此:
def LE():
...
if option == 'Shaving Cream':
import Shaven
Shaven.SC()
elif option == ...
应该很好用
得到一个奇怪的缩进异常。思想?我是否有必要让这件事对我自己更难
缩进异常几乎总是由在同一文件中混合制表符和空格引起的。如果您使用的是像样的编辑器,则可以将其设置为自动将选项卡转换为空格。如果你没有使用一个像样的编辑器,停止它,使用像样的编辑器。@Béres:几乎正确:发布一个复制错误的最小代码示例更好。
那么
不是Python关键字我在使用记事本++。如果Python不能很好地使用它,那么我不认为编辑器不合适是一个问题。@DJG:Notepad++对于Python来说已经足够了。下面是另一个堆栈溢出问题,它将告诉您如何处理这些讨厌的选项卡: