将包含 x、y、z 坐标的列表作为具有前导原子名称的 3 列写入文件
Writing lists containing x,y,z coordinates into a file as 3 columns with a leading atom name
我是 python 的新手。我一直在尝试将包含多个 x、y、z 坐标形式的列表的嵌套列表一次一行写入一个文件。
例如:我有这样的列表
x = [[1,2,3],[4,5,6],[7,8,9]]
y = [[10,11,12],[13,14,15],[16,17,18]]
我想写的是这样的:
假设我有一个名为 ring1.xyz.
的文件
打开的话应该是这样的。
H 1 2 3
H 4 5 6
H 10 11 12
高 13 14 15
只应将前两个列表写入文件。
我目前尝试过此代码块,但它不起作用。
任何 lead\solution 表示赞赏
for s in range(3):
with open("ring_%s.xyz" %s, "w+") as f:
for k in range(2):
for j in x[k]:
f.write('H\n')
f.write(' ')
f.write('%s' % j)
试试这个代码,告诉我它是否有帮助:-
for s in range(3):
with open("ring"+s+".xyz") as f:
for i in range(2):
f.write("H ")
for j in x[i]:
f.write(str(j))
f.write(" ")
f.write("\n")
你可以试试这个:
def open_file(l,ind):
with open("ring"+ind+".txt","a+") as f:
for i in l[:2]:
f.write("H "+" ".join(i))
f.write("\n")
x = [[1,2,3],[4,5,6],[7,8,9]]
y = [[10,11,12],[13,14,15],[16,17,18]]
open_file(x,1)
open_file(y,2)
我是 python 的新手。我一直在尝试将包含多个 x、y、z 坐标形式的列表的嵌套列表一次一行写入一个文件。
例如:我有这样的列表
x = [[1,2,3],[4,5,6],[7,8,9]]
y = [[10,11,12],[13,14,15],[16,17,18]]
我想写的是这样的:
假设我有一个名为 ring1.xyz.
的文件
打开的话应该是这样的。
H 1 2 3
H 4 5 6
H 10 11 12
高 13 14 15
只应将前两个列表写入文件。
我目前尝试过此代码块,但它不起作用。
任何 lead\solution 表示赞赏
for s in range(3):
with open("ring_%s.xyz" %s, "w+") as f:
for k in range(2):
for j in x[k]:
f.write('H\n')
f.write(' ')
f.write('%s' % j)
试试这个代码,告诉我它是否有帮助:-
for s in range(3):
with open("ring"+s+".xyz") as f:
for i in range(2):
f.write("H ")
for j in x[i]:
f.write(str(j))
f.write(" ")
f.write("\n")
你可以试试这个:
def open_file(l,ind):
with open("ring"+ind+".txt","a+") as f:
for i in l[:2]:
f.write("H "+" ".join(i))
f.write("\n")
x = [[1,2,3],[4,5,6],[7,8,9]]
y = [[10,11,12],[13,14,15],[16,17,18]]
open_file(x,1)
open_file(y,2)