我需要在文本文件的第一行中添加一行,并且看來對我唯一可用的選項是多行代碼,而不是我從python所期望的。像這樣:f = open('filename','r')temp = f.read()f.close()f = open('filename', 'w')f.write("#testfirstline")f.write(temp)f.close()有沒有更簡單的方法?此外,與打開單個手柄進行讀寫('r +')相比,我更經常看到此兩個手柄的示例-為什么?
3 回答

慕萊塢森
TA貢獻1810條經驗 獲得超4個贊
Python使許多事情變得容易,并包含許多常見操作的庫和包裝器,但目標不是隱藏基本事實。
您在這里遇到的基本事實是,通常無法在不重寫整個結構的情況下將數據放在現有的平面結構之前。無論語言如何,都是如此。
有一些方法可以保存文件句柄或使代碼的可讀性降低,其中許多方法是在其他答案中提供的,但是沒有一種方法可以更改基本操作:必須先讀取現有文件,然后寫出要添加的數據,然后再輸入您讀入的現有數據。
一定要保存文件句柄,但不要試圖將此操作打包到盡可能少的代碼行中。實際上,永遠不要去尋找最少的代碼行-就是混淆,而不是編程。
添加回答
舉報
0/150
提交
取消