导入一个.py文件会在启动另一个文件时打开它



我正在将settings.py文件导入browser.py,如下所示:

import settings

但当我运行browser.py文件时,它会在运行browser.my之前打开settings.py,我不希望运行settings.pi。有没有一种方法可以停止settings.py的运行,同时仍将设置导入browser.py?

您想签入settings.py文件,看看该文件是由用户直接运行的,还是由其他模块包含的。这样做的方法是使用__name__变量。该变量始终由Python定义。如果您在直接运行的文件中,它的值将是__main__。因此,在settings.py中,执行以下操作:

<code you want to always have take effect, usually functions, class definitions, global variables, etc.>
if __name__ == '__main__':
<code you only want to run if this file was run directly>

使用这种机制为模块提供一些测试代码是很常见的。下面是一个简单的具体例子:

def some_function(a, b, c):
print(a, b, c)
def test():
some_function(123, 234, 456)
if __name__ == '__main__':
test()

因此,这只是定义了some_functiontest,但如果它包含在其他Python文件中,则不会运行它们。如果直接运行,则运行test()来测试some_function()函数。

导入设置文件时,函数和类之外的任何python代码都将自动运行。

您可以尝试将不需要执行的代码放入设置文件中的函数中,然后根据需要在browser.py中调用这些函数。

相关内容

最新更新