python 我正在导入的外部文件正在运行,而不是它正在导入到的主文件

lo8azlld  于 2023-04-19  发布在  Python
关注(0)|答案(1)|浏览(186)

我已经导入了一个外部文件,我已经到另一个程序我做了.这里是代码:from Number_guesser.Number_guesser_main import start_number_guesser .然而,而不是主文件本身正常运行,并给出主文件的第一个输入问题.(此)ans1 = typing_with_user_input_main_program("\nWelcome to Minigame land! Would you like to play? (Y/N) ") .我不是被给予第一个输入行形式导入的外部文件.(此)ans1 = typing_with_user_input(f"\nHello! Would you like to play the number guessing game? (Y/N) ")
我对python相当陌生,已经尝试了几天试图解决这个问题,但似乎没有任何工作。有人能帮助我解决这个问题吗?
我试过移动外部文件,使import语句不那么复杂,使用sys更改到外部文件的路径,只导入外部文件,而不是我想使用的特定子例程。
然而,这些都没有对错误产生任何影响。

zf9nrax1

zf9nrax11#

导入模块时,将执行该模块中的所有“顶级”代码。
因此,如果一个模块在顶层有print()input()语句,即没有缩进到类或函数定义的下面,那么这些语句将执行,并且您将在控制台上看到输出。
如果你有一些代码不想在导入模块时执行,那么你需要将这些代码“隐藏”在一个if语句中,如下所示:

if __name__ == '__main__':
    print('This message will only appear when this module is ')
    print('executed directly, and not when this module is imported.')

相关问题