我正在製作一個python程序,從網站獲取數據,然後將其記錄在文本文件中。我希望這記錄最後1000(我正在測試4和字符串「你好」)條目,並刪除其餘的。以下是我迄今爲止:Python:從文本文件splitlines(),然後將它們寫回文本文件
f = open("test.txt", "r")
text = f.read()
f = open("test.txt", "w")
content = text.splitlines(True)
f.write("hello")
f.write("\n")
for x in range(0,4):
f.write(str(content[x:x+1]).strip('[]'))
f.close()
這個「作品」,然而格式化文本文件是這樣的:
hello
'hello\n''\'hello\\n\'\'\\\'hello\\\\n\\\'\\\'\\\\\\\'hello\\\\\\\\n\\\\\\\'"\\\\\\\'hello\\\\\\\\\\\\\\\\n\\\\\\\'"\\\'\''
你能不能幫我弄清楚了這一點,所以它看起來是這樣的:
hello
hello
hello
hello
謝謝!
你想要的最後1000個非空行?我不確定你在這裏過濾方案。 – GWW
您是否意識到,您首先打開文件進行閱讀,然後在未關閉文件的情況下嘗試再次打開文件進行閱讀?我建議在第3行添加'f.close()',看看情況是否改善。爲了保持代碼清晰,在打開文件進行寫入之前,'content = text.splitlines(True)'會更好。 –
我改成了這樣:'F =開放( 「test.txt的」, 「R」) 文本= f.read() 含量= text.splitlines(真) f.close() F =開放( 「test.txt的」, 「W」) f.write( 「你好」) f.write( 「\ n」 個) 在範圍X(0,4): \t f.write(STR (content [x:x + 1])。strip('[]')) f.close()'並沒有改進。 – pclever1