解释什么主脚本仅在导入时运行意味着什么?

发布于 2025-01-16 16:54:54 字数 238 浏览 0 评论 0原文

我有点困惑老师在这里要求什么。有人可以解释一下,如果模块被执行,主脚本应该运行是什么意思?

这就是说明:

带有自动化测试的主脚本。主脚本仅应在以下情况下运行 模块被执行。导入模块时不应运行它。主要 脚本应打印通过和失败的测试总数。

教科书上给出了这样的例子: Txtbook Image

不太确定发生了什么

I am a little bit confused on what the teacher is asking for here. Can someone please explain what it means when main script should on run if module is executed?

This is what the instructions were:

Main script with automated testing. The main script should only run if the
module is executed. It should not run when the module is imported. The main
script should print the total number of tests that pass and fail.

In the textbook it gives an example like this:
Txtbook Image

Not really sure what is going on

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

年少掌心 2025-01-23 16:54:55

当您将 python 模块作为脚本执行时,与将其作为模块导入时仅略有不同。这是说明差异的快速方法。

假设您有一个文件 module.py ,其内容为:

print(__name__)

如果您直接运行该脚本,它将显示:

$ python module.py
__main__

如果您从另一个脚本导入它,它将输出:

$ python -c "import module"
module

您可以在这里看到,如果一个 python 文件作为脚本运行,__name__ 属性将报告 "__main__"

因此,如果您只想在模块作为脚本执行时运行代码,那么您可以编写:

if __name__ == "__main__":
   <code you want to execute as a script here>

When you execute a python module as a script, it is only slightly different than when you import it as a module. Here's a quick way to illustrate the difference.

Say you have a file module.py with content:

print(__name__)

If you run the script directly it will say:

$ python module.py
__main__

If you instead import it from another script it will output:

$ python -c "import module"
module

You can see here, that if a python file is run as a script, that the __name__ attribute will report "__main__".

So if you want to only run code if the module is executed as a script then you can write:

if __name__ == "__main__":
   <code you want to execute as a script here>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文