python:numpy运行脚本两次

当我将numpy导入到我的python脚本时,脚本会执行两次。 有人能告诉我如何能阻止这一点,因为我的脚本中的一切都需要两倍的时间?

这是一个例子:

#!/usr/bin/python2 from numpy import * print 'test_start' lines = open('test.file', 'r').readlines() what=int(lines[0])+2 nsteps = len(lines)/what atom_list=[] for i in range(0,nsteps*what): atom_list.append(lines[i].split()) del atom_list[:] print 'test_end' 

输出是:

 test_start test_end test_start test_end 

那么,我的脚本是先用普通的python执行,然后再用numpy执行? 也许我应该说,我还没有与numpy工作,只是想开始testing它。

干杯

你的脚本被命名为numpy.py ,无意中导入它自己。 由于模块级代码在导入时被执行,导入行会导致它运行,然后一旦完成,它就会再次运行其余的。

(关于脚本为什么可以导入的解释 )

建议:

  1. 把你的脚本重命名为numpy.py以外的numpy.py
  2. 使用if __name__=='__main__'成语 (您应该始终在您的脚本中使用它)

除此之外,正如已经指出的那样, from numpy import *是强烈的不鼓励。 要么使用import numpy或普通import numpy as np