0
我有下面的代码,它的工作原理就像我想要的。我想改变它的唯一的事情就是添加一个for循环。请注意以下行:For循环通过文件循环
node = import_file("../Angle1/1eV/cascade.dump",multiple_frames = True)
注意1eV在那里。我想从1到10eV循环。我怎样才能插入一个for循环从这样的1到100 eV,这样我就不必手动将它取出来,这需要一段时间?
# Import OVITO modules.
from ovito.io import *
from ovito.modifiers import *
# Import NumPy module.
import numpy
import sys
node = import_file("../Angle1/1eV/cascade.dump",multiple_frames = True)
ovito.dataset.anim.current_frame = 1
mod = WignerSeitzAnalysisModifier(per_type_occupancies = True)
mod.reference.load("position_perfect_300.dump")
node.modifiers.append(mod)
node.compute()
node.modifiers.append(SelectExpressionModifier(expression = 'ParticleType==1 && Occupancy.1==0 && Occupancy.2==0'))
node.compute()
f=open("1.out",'w')
sys.stdout = f
print("Number of O vacant sites: %i" % numpy.count_nonzero(node.output.particle_properties['Selection']))
f.close()
如何结束for语句使其循环回来?如果它已经这样做,那么我认为我的打印语句每次都会被覆盖 –
我需要循环一次执行下面的命令并写入我的文件。最后我的档案中应该有几件事。在继续阅读下一个文件之前是否知道执行下面的命令?我觉得它是目前设置的方式,它只是加载我所有的文件并计算最后一个,但我不确定。 –
检查我的编辑。缩进对python至关重要,我希望你知道。 –