簡體   English   中英

如何使用 Python For 循環寫入文件

[英]How to writing files using Python For-loop

我是 SO 和自學 Python 的新手。 我正在使用 Pymatgen 來研究計算材料科學,我有一個一直在努力解決的問題,但在任何地方都找不到答案。 我有一個像圖片一樣的腳本輸出列表。

我想使用 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')

從您提供的代碼可以看出,您正在將 add_h2o[0] 到 add_h2o[10] 保存在文件中。

您將 add_h2o[ 0 ] 保存在文件 Al2O3_0001_9_H2O_P_ 1 .POSCAR.vasp 中,並將 add_h2o[ 1 ] 保存在文件 Al2O3_0001_9_H2O_P_ 2 .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))

這能解決您的問題嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM