[英]Traversing through list to output different txt files (python)
我試圖讓我的代碼通過 Python 中的一個文本文件讀取,並將文本文件中的每個“873”字符串替換為我的數組中的任何內容,並將數組中每個元素的文本文件替換為 output。
到目前為止,我已經實現了大約 75%。 我的代碼現在抓取文本文件,為數組中的每個元素生成一個文本文件,但實際上只將文本寫入我數組中的第一個 output 文本文件。 在制作的output文本文件的rest中,各為空白文件。
這是我所擁有的:
> fin = open("C:\\Users\\...input.txt", "rt")
>
>
> items = ["sup", "how", "are", "you"]
> for item in items:
> with open ("{}outputs.txt".format(item), "w") as f:
> for line in fin:
> f.write(line.replace('873', item))
>
> fin.close()
這與“sup”的預期一樣,復制了 input.txt,但將每個“873”替換為“sup”。 (supoutputs.txt) 但對於產生的輸出的 rest (howoutputs.txt, areoutputs.txt, yououtputs.txt),文件中沒有任何內容。
遍歷fin
一次后,該文件的 cursor 位於文件末尾。 如果要再次遍歷fin
,請使用seek
將 cursor 移回文件開頭。
您必須使用seek()
,因為這用於將文件句柄的 position 更改為給定的特定 position。 文件句柄就像一個 cursor,它定義了從哪里讀取或寫入文件中的數據
因此,您的問題的解決方案是:
fin.seek(0, 0)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.