繁体   English   中英

在Python中将模块导入模块内部

[英]Importing modules inside of modules in Python

我正在尝试创建选项的层次结构。 我能够创建第一个选项列表:

  1. 狐猴
  2. 大猩猩
  3. 黑猩猩

如果用户为狐猴选择选项1,则我运行Lemur.LE()函数,因为我已经导入了狐猴模块。 然后为他们提供另一组选项:

  1. 白兰地
  2. 雪茄
  3. 剃须膏
  4. 选择另一只猴子。

选项4暂停运行,将其发送回第一个列表。 我正在尝试从第一种架构中重复操作,以便我可以在调用Lemur.LE()时通过导入选择它们,选择Shaven.SC(),但是如果将导入放置在函数启动之前,则会得到一个首次导入狐猴时,一开始会发生致命崩溃,如果我从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 == ...

应该工作正常。

得到一个奇怪的缩进异常。 有什么想法吗? 难道我有必要加倍努力吗?

缩进异常几乎总是由同一文件中的制表符和空格混合引起的。 如果使用的是体面的编辑器,则可以将其设置为自动将制表符转换为空格。 如果您使用的不是体面的,请停止它,然后使用体面的编辑器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM