Python 中的 if __name__ == '__main__': 解释及用法
Python 中的 if __name__ == '__main__': 详解
在 Python 脚本中,你经常会看到 if __name__ == '__main__': 这行代码。 这篇文章将解释它的作用以及如何使用它。
什么是 __name__?
在 Python 中,每个模块都有一个内置的变量 __name__。
- 当你直接运行一个模块时,该模块的
__name__被设置为'__main__'。 - 当你将一个模块作为模块导入时,该模块的
__name__被设置为该模块的文件名(不带 .py 扩展名)。
if __name__ == '__main__': 的作用
这段代码的作用是创建一个代码块,该代码块仅在直接运行脚本时执行,而在将脚本作为模块导入时不执行。
代码示例
def class_process(dir_path, dst_dir_path):
# 在此处添加你的代码逻辑
# ...
if __name__ == '__main__':
print('HELLO')
import sys
import os
dir_path = sys.argv[1]
dst_dir_path = sys.argv[2]
count = 0
for class_name in os.listdir(dir_path):
print(count)
count = count + 1
class_process(dir_path, dst_dir_path)
在这个例子中:
if __name__ == '__main__':确保只有在直接运行脚本时才会执行下面的代码。print('HELLO')会在脚本开始执行时打印 'HELLO'。dir_path = sys.argv[1]和dst_dir_path = sys.argv[2]从命令行参数中获取输入和输出目录的路径。- 循环遍历输入目录中的每个子目录,并对每个子目录执行
class_process函数。
总结
if __name__ == '__main__': 语句是 Python 中的一个有用技巧,可以区分代码是直接运行还是作为模块导入,从而控制代码的执行流程。
原文地址: https://www.cveoy.top/t/topic/wrV 著作权归作者所有。请勿转载和采集!