1
假設文本文件是這樣的:如何洗牌文本文件的內容中的n行集團在Python
1
2
3
4
5
6
...
我想是randomely訂購內容的N行基非在每組中排序如下:
#In this case, N = 2.
5
6
1
2
7
8
...
我的文件不是很大,肯定會小於50行。
我試圖做到這一點使用此代碼:
import random
with open("data.txt", "r") as file:
lines = []
groups = []
for line in file:
lines.append(line[:-1])
if len(lines) > 3:
groups.append(lines)
lines = []
random.shuffle(groups)
with open("data.txt", "w") as file:
file.write("\n".join(groups))
但我得到這個錯誤:
Traceback (most recent call last):
File "C:/PYTHON/python/Data.py", line 19, in <module>
file.write("\n".join(groups))
TypeError: sequence item 0: expected str instance, list found
是否有這樣做的一個簡單的方法?
感謝。有沒有辦法只打開一次文件? – user1236969
@ user1236969:sure:[在寫入文件之前刪除文件的內容(使用Python)?](// stackoverflow.com/q/41915140);在「r +」模式下打開,讀取,倒帶,截斷,然後寫入。 –