如果仅在直接执行脚本时使用模块,那么将import
语句放在if __name__ == '__main__'
部分的顶部而不是脚本的顶部是否可以接受?
示例:
def open_as_clean_list(filename):
list = []
with open(filename) as f:
for line in f:
li = line.rstrip()
if not li.startswith("#") and li:
list.append(li)
return list
if __name__ == '__main__':
import random
first = open_as_clean_list("first.txt")
second = open_as_clean_list("second.txt")
print(random.choice(first) + ' ' + random.choice(second))
如您所见,只有在直接运行代码时才需要random
。无论如何都是最佳导入,或者直接执行时才导入?这模块实际上有什么不同吗?