有没有办法让代码与“导入”一起工作?

时间:2021-03-06 16:12:25

标签: python

我从脚本中发现了一个代码,该代码阻止使用 import

打开它
def begin(stdscr):
    stdscr.clear()
    curses.init_pair(1, curses.COLOR_GREEN, curses.COLOR_BLACK)
    curses.init_pair(2, curses.COLOR_RED, curses.COLOR_BLACK)

    init_maze()
    generate_maze()
    mainloop()

if __name__ == '__main__':
    curses.setupterm()
    stdscr = curses.initscr()
    curses.curs_set(False)
    stdscr.keypad(True)

    cols = curses.tigetnum('cols')
    lines = curses.tigetnum('lines')
    while width < cols and height + 5 < lines:
        curses.wrapper(begin)
        width += 10
        height += 6

主要的是if __name__ == '__main__':

谁能告诉我如何制作才能让游戏在没有 if __name__ == '__main__': 的情况下运行并使用 import 运行?

编辑:如果我删除 if __name__ == '__main__':,脚本将不再工作

1 个答案:

答案 0 :(得分:2)

只要您的模块与您尝试将模块导入到的代码位于同一目录中,我相信这应该可行:

def begin(stdscr):
    stdscr.clear()
    curses.init_pair(1, curses.COLOR_GREEN, curses.COLOR_BLACK)
    curses.init_pair(2, curses.COLOR_RED, curses.COLOR_BLACK)

    init_maze()
    generate_maze()
    mainloop()

def main():
    curses.setupterm()
    stdscr = curses.initscr()
    curses.curs_set(False)
    stdscr.keypad(True)

    cols = curses.tigetnum('cols')
    lines = curses.tigetnum('lines')
    while width < cols and height + 5 < lines:
        curses.wrapper(begin)
        width += 10
        height += 6

if __name__ == "__main__":
    main()

从您从中导入的脚本中,您可以执行以下操作:

import my_script.py

my_script.main()