国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

利用Python在一個文件的頭部插入數據的實例

2020-01-04 15:16:41
字體:
來源:轉載
供稿:網友

在一個文件的末尾追加數據是很常用的。在使用過程中應該都比較熟悉不會出現什么錯誤。但是往一個文件頭部插入數據可能或多或少會碰到一些問題。

看似正確的錯誤代碼

很多代碼看似正確,但是其實都是錯的。一起來看下這些代碼

1、看似正確的錯誤代碼1

with open(path, "r+") as f:   f.seek(0)   f.write(data)

確實是從頭寫了,而且有些原有數據確實在,但是數據有問題。。。。

因為”r+”方式寫文件操作沒有插入的語義,只有寫文件的含義,原來位置如果有數據,不會后移的,是覆蓋掉了。。。。所以,你可能會看到一些老的數據。不仔細辨別可能就天真地以為成功了。。。

2、看似正確的錯誤代碼2

with open(path, "w+") as f:   old = f.read()   f.seek(0)   f.write(data)   f.write(old)

你讀取到的數據永遠為空。。。。

因為”w+”的含義就是截取長度為0然后寫入文件。

3、看似正確的錯誤代碼3

with open(path, "a+") as f:   old = f.read()   #f.truncate(0)      #取消掉注釋成正確代碼   f.seek(0)   f.write(data)

寫入的數據永遠出現在文件末尾。。。。。

要打破魔咒的話要先將文件截斷成0字節。。。。

snack:想要”a+”的效果變”r+”,在讀之前先seek(0),在寫之前要truncate一下,確保要寫入的位置是文件的末尾。

正確的代碼

with open(path, "r+") as f:   old = f.read()   f.seek(0)   f.write(data)   f.write(old)

原理思路:讀出原有文件內容,移動索引到開始,寫入新的數據,然后寫入舊的數據。

以上這篇利用Python在一個文件的頭部插入數據的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 剑阁县| 松溪县| 宜都市| 南汇区| 大石桥市| 青龙| 定兴县| 叶城县| 咸宁市| 普兰店市| 甘孜县| 行唐县| 德清县| 台湾省| 盐山县| 吉木乃县| 柳河县| 景德镇市| 洪湖市| 缙云县| 皮山县| 镇平县| 永泰县| 扶余县| 仁化县| 尤溪县| 海城市| 河间市| 木兰县| 英吉沙县| 金阳县| 诸暨市| 筠连县| 平潭县| 贵港市| 汾阳市| 胶州市| 安丘市| 辽宁省| 鹿泉市| 崇信县|