用python去除檔案中的空格 || Tab || 回車
阿新 • • 發佈:2019-02-16
在最近的開發工作中,為了應付比賽趕進度,服務端的json檔案都是人工寫的,寫完之後發現格式都是十分規整,易於人閱讀的json,但是客戶端請求不需要那些為了格式而在json裡面新增的空格、tab、回車等等沒用的字元,遂用python寫一指令碼,去除檔案中的空格、回車、換行。
原json檔案:
{ "amount" : "2", "content" : [ { "category_id" : 0, "name" : "古典文學", "category_json_url" : "http://172.16.242.14:8080/source/history/history.json" } , { "category_id" : 1, "name" : "流行音樂", "category_json_url" : "http://172.16.242.14:8080/source//popmusic/popmusic.json" } ] }
用指令碼處理後的檔案:
{"amount":"2","content":[{"category_id":0,"name":"古典文學","category_json_url":"http://172.16.242.14:8080/source/history/history.json"},{"category_id":1,"name":"流行音樂","category_json_url":"http://172.16.242.14:8080/source//popmusic/popmusic.json"}]}
下面上程式碼:
def stripFile(oldFName,newFName): '''remove the space or Tab or enter in a file,and output to a new file in the same folder''' fp = open(oldFName,"r+") newFp = open(newFName,"w") for eachline in fp.readlines(): newStr = eachline.replace(" ","").replace("\t","").strip() #print "Write:",newStr newFp.write(newStr) fp.close() newFp.close() if __name__ == "__main__": oldName = raw_input("input file name:") nameList = oldName.split(".") newName = "%s%s%s" % (nameList[0],"_new.",nameList[1]) stripFile(oldName,newName) print "finish output to new file:",newName
使用指令碼時,如果指令碼檔案和要處理的檔案在同一目錄下,則直接輸入檔名,如果不在,需要輸入檔案的完整路徑。
記得聽Cliff說過,程式設計師就要有一個批量處理的意識,要學會發揮機器的力量,感覺還是很對的。