作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 python 文件中,我有一个带有一些参数的函数,在同一个文件中,我有一个 if __name__ == "__main__"
子句,它使用一组特定的参数运行此函数(例如用户展示其功能)。就像这样,
def foo(arg1, arg2):
pass
if __name__ == "__main__":
arg1 = 1
arg2 = 2
foo(arg1, arg2)
此外,我还有另一个包含 pytest 使用的测试的文件。我想让其中一个测试运行与上面提到的 if 子句中写入的内容完全相同的内容,即执行
arg1 = 1
arg2 = 2
foo(arg1, arg2)
无需将代码复制到包含测试的文件中是否可以实现?
最佳答案
好吧,我不是这方面的专家,但是如何重定向你的 if __name__ == "__main__":
到另一个函数并从其他文件调用该函数?
文件1:
def main_file1:
arg1 = 1
arg2 = 2
foo(arg1, arg2)
if __name__ == "__main__":
main_file1()
<小时/>
文件2:
from file1 import *
def somefunc():
main_file1()
但是,我不确定您为什么要这样做。通常,您的整个项目中只有 1 个主要函数来让事情顺利进行并从那里调用其他函数。
最终这种方式无法达到文件主要功能的目的
关于python - 如何从另一个python文件执行 `if __name__ == "__main_ _"`中的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55367538/
我是一名优秀的程序员,十分优秀!