当我将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而只是想开始测试它。
干杯
答案 0 :(得分:4)
您的脚本名为numpy.py
,无意中导入了自己。由于模块级代码在导入时会被执行,导入行会导致它运行,然后一旦imoprt完成,它就会再次运行其余代码。
(An explanation关于脚本可以自行导入的原因)
建议:
numpy.py
if __name__=='__main__'
idiom(您应该始终在脚本中使用它)除此之外,正如已经指出的那样,强烈建议不要from numpy import *
。使用import numpy
或公共import numpy as np
。