上網查了好多方法都是將文件一行一行都進來,然後新開一個文件指針,將文件再一行行寫進新文件裏。
感覺不是太好,看到這個fileinput
的庫,發現大同小異,不過有一點就是可以在原文件上修改,不用新開文件。
舉個簡單的例子:
我有json文件1.json
是如下格式:
/* 1 */
{
"_id" : "18372776",
"city" : "廣州",
"gender" : "woman",
"birthday" : " 巨蟹座",
"is_vip" : 1,
"contribution" : 964,
"user_name" : "寶穎穎"
}
/* 2 */
{
"_id" : "133155049",
"city" : "廣州",
"gender" : "woman",
"birthday" : " 獅子座",
"is_vip" : 0,
"contribution" : 42,
"user_name" : "魚之頭"
}
我想把文件裏面的/* ... */
換成一個,
,可以通過以下的代碼實現:
import fileinput
str1 = ','
for line in fileinput.input('1.json', inplace= True):
if line.startswith(r'/*'):
print str1.strip()
else:
print line.strip()
其中的strip()
是爲了防止寫入多餘的空行。
這樣的操作很簡單,只能整行操作,也有侷限性,我沒有具體去研究這個庫,只是簡單記錄了一下…
That`s all.