python基本文件操作
讀入文件:
f = open(『test.txt』,』r』)
寫入文件:
f = open(『output.txt』,』w』)
注意!如果你想讀文件,卻寫錯了關鍵字,把』r』寫成』w』,並執行了程式,那麼你的文件就會變成空白的,因為你什麼都沒有寫入。
修改文件裡面指定行的內容:
比如你用**實現了自動生成文字和符號,但是迫於格式要求,很多符號都是成對出現的,而且在生成完文字之後,很難再回撤,比如我就遇到這樣的情況:
背景:
到:
可以看到,我把每一幀裡每乙個行人的座標都表示成json的格式了,但是格式轉換之後有個問題,在倒數第三行的地方,多了個逗號:
不要看它只是乙個小小的逗號,但是有這個逗號,vott就讀不出來,沒有逗號就讀取成功,所以程式設計也是乙份一絲不苟的工作呀~~
不就乙個小逗號麼?把它刪了就ok啦~~
我也是這麼想的,但是跟我交接的同事不這麼認為,硬是要我把這個逗號自動去除掉,於是就有了今天的這次分享~
實現首先建立兩個檔案讀取函式f1和f2,f1負責讀檔案資訊,f2寫新檔案資訊,通過一讀一寫,實現指定內容的修改。首先f1讀取這個json文件,然後一行一行地讀,如果這一行不用改內容,就發直接寫入新檔案;如果這一行需要做內容更改,可以直接更改或者用文字替換的方式進行更改(為滿足不同程式的自適應要求,多採用文字替換的方式),設定要替換的文字old_str和新文字new_str,進行內容替換,並完成其餘行的檔案讀寫。
源**如下:
import os
file=』output.json』
old_str = '}],'
new_str = '}]'
#由於我只想把最後乙個逗號去掉,所以新字串比舊字串少個逗號
#這裡要確保只匹配到你想要更改的字串,否則整一行符合條件的都會被替換掉
def alter(file,old_str,new_str):
total_count =0 #文件的總行數
count = 0 #目標行數
with open(file) as f:
for line in f:
total_count = total_count + 1
with open(file, "r", encoding="utf-8") as f1, \
open("%s.bak" % file, "w", encoding="utf-8") as f2:
for line in f1:
count = count+1
if count == total_count-2:如果當前行是倒數第三行,執行替換操作
if old_str in line:
line = line.replace(old_str, new_str)
f2.write(line)
else:
f2.write(line)
os.remove(file)
os.rename("%s.bak" % file, file)
好了,這樣就愉快地實現了自動化的格式轉換並直接能被vott識別啦~
python 文件操作 Python文件操作
最近在網課中學習了python的文件操作,所以把老師上課講的都記錄了下來,作為筆記 開啟文件 可直接使用open函式,使用形式為1open 文件位址,操作形式 操作形式有以下幾個1 7r 唯讀模式 w 覆蓋寫模式 x 建立寫模式 a 追加寫模式 b 二進位制文件模式 t 文字文件模式 與r w x ...
python 文件操作
r 預設值 表示從檔案讀取資料。w 表示要向檔案寫入資料,並截斷以前的內容。a 表示要向檔案寫入資料,但是新增到當前內容尾部。r 表示對檔案進行讀寫操作 刪除以前的所有資料 r a 表示對檔案進行讀寫操作 新增到當前內容尾部 b 表示要讀寫二進位制資料。import re f open book 2...
Python文件操作
open c users second one desktop a.txt 檔案路徑必須完整路徑且為字串格式 有三種方式 open c users second one desktop a.txt open c users second one desktop a.txt open r c user...