该判断语句为真的时候,说明当前运行的脚本为主程序,而非主程序所引用的一个模块。这在当你想要运行一些只有在将模块当做程序运行时而非当做模块引用时才执行的命令,只要将它们放到
if __name__ == "__main__:"
判断语句之后就可以了。
例子:
# String_ex.py
def extract_place(filename):
# first = filename.find('_')
# partial = filename[first + 1:]
# second = partial.find('_')
# print(partial[: second])
strlist = filename.split('_')
print("date: ", strlist[0], "\n", "time: ", strlist[2][:-4], "\n", "place: ", strlist[1])
extract_place("2018-06-06_MountainView_16:20:00.jpg")
if __name__ == "__main__":
print("直接运行")
else:
print("作为模块运行")
运行结果:
date: 2018-06-06
time: 16:20:00
place: MountainView
直接运行
作为模块引入:
# import_test.py
import String_ex
print("导入模块")
String_ex.extract_place("2018-06-06_MountainView_16:20:00.jpg")
运行结果:
date: 2018-06-06
time: 16:20:00
place: MountainView
作为模块运行
导入模块
date: 2018-06-06
time: 16:20:00
place: MountainView