1
我想知道如何將數組保存到文件。你已經幫了我很多,但我有比較幼稚的問題(我是新來的Python):如何將數組保存到文件
@<TRIPOS>MOLECULE
NAME123
line3
line4
line5
line6
@<TRIPOS>MOLECULE
NAME434543
line3
line4
line5
@<TRIPOS>MOLECULE
NAME343566
line3
line4
目前我有這樣的代碼,但它是從陣列中只保存最後一項沒有全部列於items_grep
。如何解決這個問題?
items = []
with open("test.txt", mode="r") as itemfile:
for line in itemfile:
if line.startswith("@<TRIPOS>MOLECULE"):
items.append([])
items[-1].append(line)
else:
items[-1].append(line)
#
# list to grep
items_grep = open("list.txt", mode="r").readlines()
# writing files
for i in items:
if i[1] in items_grep:
open("grep.txt", mode="w").write("".join(i))
預先感謝您!
非常感謝!問題在於**加入**,請您描述更多細節。爲什麼只有最後一個?更新了 –
以添加問題的答案。你在for循環的每一次迭代中重新打開這個文件(所以它每次都會被擦除) –
@JohnAmraph所以,''\ n'.join()'爲你解決了這個問題的原因是因爲它把你所有的文件寫入合併成一個聲明(所以它們都不會互相覆蓋:P) –