如何使用Python Forloop编写文件

2024-05-03 14:44:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我不熟悉SO和自学Python。 我正在使用Pymatgen研究计算材料科学,我有一个问题一直在努力解决,但在任何地方都找不到答案。 我有一个类似于picture的脚本的列表输出

我想使用for循环写入不同的文件以实现可视化。我一直在像下面的脚本一样手动编写输出,希望使用for循环来简化脚本并使其看起来更好

p1 = add_h2o[0]
p1.to(filename = 'Al2O3_0001_9_H2O_P_1.POSCAR.vasp')
p2 = add_h2o[1]
p2.to(filename = 'Al2O3_0001_9_H2O_P_2.POSCAR.vasp')
p3 = add_h2o[2]
p3.to(filename = 'Al2O3_0001_9_H2O_P_3.POSCAR.vasp')
p4 = add_h2o[3]
p4.to(filename = 'Al2O3_0001_9_H2O_P_4.POSCAR.vasp')
p5 = add_h2o[4]
p5.to(filename = 'Al2O3_0001_9_H2O_P_5.POSCAR.vasp')
p6 = add_h2o[5]
p6.to(filename = 'Al2O3_0001_9_H2O_P_6.POSCAR.vasp')
p7 = add_h2o[6]
p7.to(filename = 'Al2O3_0001_9_H2O_P_7.POSCAR.vasp')
p8 = add_h2o[7]
p8.to(filename = 'Al2O3_0001_9_H2O_P_8.POSCAR.vasp')
p9 = add_h2o[8]
p9.to(filename = 'Al2O3_0001_9_H2O_P_9.POSCAR.vasp')
p10 = add_h2o[9]
p10.to(filename = 'Al2O3_0001_9_H2O_P_10.POSCAR.vasp')
p11 = add_h2o[10]
p11.to(filename = 'Al2O3_0001_9_H2O_P_11.POSCAR.vasp')

Tags: to脚本addforfilenamep2p3p5
1条回答
网友
1楼 · 发布于 2024-05-03 14:44:24

从您提供的代码可以看出,您正在通过add_h2o[10]将add_h2o[0]保存到文件中

您正在将add_h2o[0]保存在文件Al2O3_0001_9_h2o_p1.POSCAR.vasp中,并且 在文件Al2O3\u 0001\u 9\u h2o\u P\u P2.POSCAR.vasp

你注意到什么图案了吗

文件的编号始终比要保存的数组中元素的索引大1。因此,我们可以运行一个从0到10的循环,对于循环中的每个数字i,文件的数字将是i+1。因此,代码如下

for i in range(11):
  add_h2o[i].to(filename='Al2O3_0001_9_H2O_P_{}.POSCAR.vasp'.format(i + 1))

这能解决你的问题吗

相关问题 更多 >