我想删除python中文本文件中的最后一个逗号。文件如下:
{"time":"2019-02-12T14:41:25.2424552+01:00","ip":"::1","browser":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36","user":"28969523B","profile":"SUMUM_D?99?2017?2","controller":"Alteraciones_Primitivas_dmz_","service":"GetAlteracion","delegacion":null,"municipio":null,"method":"GET","parameters":{"id_alteracion":"11_31_85531"},"response":null,"status":200},
{"time":"2019-02-12T14:41:25.5525828+01:00","ip":"::1","browser":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36","user":"28969523B","profile":"SUMUM_D?99?2017?2","controller":"Expedientes_dmz_","service":"GetObligatoriedadDocumental","delegacion":null,"municipio":null,"method":"GET","parameters":{"id_alteracion":"11_31_85531","tipo_alteracion":"ALT_1","id_expediente":""},"response":null,"status":400},
{"time":"2019-02-12T14:41:25.9169746+01:00","ip":"::1","browser":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36","user":"28969523B","profile":"SUMUM_D?99?2017?2","controller":"Alteraciones_Primitivas_dmz_","service":"Ubicar","delegacion":null,"municipio":null,"method":"GET","parameters":{"id_alteracion":"11_31_85531","epsg":"EPSG:4326"},"response":null,"status":200},
{"time":"2019-02-12T14:41:29.8222248+01:00","ip":"::1","browser":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36","user":"28969523B","profile":"SUMUM_D?99?2017?2","controller":"Alteraciones_Primitivas_dmz_","service":"GetAlteracion","delegacion":null,"municipio":null,"method":"GET","parameters":{"id_alteracion":"11_31_17819"},"response":null,"status":200},
{"time":"2019-02-12T14:41:29.9708861+01:00","ip":"::1","browser":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36","user":"28969523B","profile":"SUMUM_D?99?2017?2","controller":"Expedientes_dmz_","service":"GetObligatoriedadDocumental","delegacion":null,"municipio":null,"method":"GET","parameters":{"id_alteracion":"11_31_17819","tipo_alteracion":"ALT_1","id_expediente":""},"response":null,"status":400} ,
{"time":"2019-02-12T14:41:30.3077709+01:00","ip":"::1","browser":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36","user":"28969523B","profile":"SUMUM_D?99?2017?2","controller":"Alteraciones_Primitivas_dmz_","service":"Ubicar","delegacion":null,"municipio":null,"method":"GET","parameters":{"id_alteracion":"11_31_17819","epsg":"EPSG:4326"},"response":null,"status":200},
{"time":"2019-02-12T14:41:38.7145697+01:00","ip":"::1","browser":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36","user":"28969523B","profile":"SUMUM_D?99?2017?2","controller":"Documentos_dmz_","service":"obtenerDocumento","delegacion":null,"municipio":null,"method":"GET","parameters":{"id_alteracion":"11_31_17819","documento":"E000226847","control":11},"response":null,"status":200},
我想去掉最后一行的逗号。在查看了大量示例之后,我尝试了这段代码(以及许多类似的选项):
with open('data.txt', 'w') as f:
f.seek(f.tell() - 1, os.SEEK_SET)
f.truncate()
但这不管用。有什么帮助吗?
编辑
逗号和之间没有空格
'}'
. 如果文件以逗号结尾,我们办公室里的程序(我无权访问)会出错。我需要的是只删除文件最后一行中的最后一个逗号,而不是每行中的最后一个逗号,然后以这种方式返回文件:
{"time":"2019-02-12T14:41:25.2424552+01:00","ip":"::1","browser":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36","user":"28969523B","profile":"SUMUM_D?99?2017?2","controller":"Alteraciones_Primitivas_dmz_","service":"GetAlteracion","delegacion":null,"municipio":null,"method":"GET","parameters":{"id_alteracion":"11_31_85531"},"response":null,"status":200},
{"time":"2019-02-12T14:41:25.5525828+01:00","ip":"::1","browser":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36","user":"28969523B","profile":"SUMUM_D?99?2017?2","controller":"Expedientes_dmz_","service":"GetObligatoriedadDocumental","delegacion":null,"municipio":null,"method":"GET","parameters":{"id_alteracion":"11_31_85531","tipo_alteracion":"ALT_1","id_expediente":""},"response":null,"status":400},
{"time":"2019-02-12T14:41:25.9169746+01:00","ip":"::1","browser":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36","user":"28969523B","profile":"SUMUM_D?99?2017?2","controller":"Alteraciones_Primitivas_dmz_","service":"Ubicar","delegacion":null,"municipio":null,"method":"GET","parameters":{"id_alteracion":"11_31_85531","epsg":"EPSG:4326"},"response":null,"status":200},
{"time":"2019-02-12T14:41:29.8222248+01:00","ip":"::1","browser":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36","user":"28969523B","profile":"SUMUM_D?99?2017?2","controller":"Alteraciones_Primitivas_dmz_","service":"GetAlteracion","delegacion":null,"municipio":null,"method":"GET","parameters":{"id_alteracion":"11_31_17819"},"response":null,"status":200},
{"time":"2019-02-12T14:41:29.9708861+01:00","ip":"::1","browser":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36","user":"28969523B","profile":"SUMUM_D?99?2017?2","controller":"Expedientes_dmz_","service":"GetObligatoriedadDocumental","delegacion":null,"municipio":null,"method":"GET","parameters":{"id_alteracion":"11_31_17819","tipo_alteracion":"ALT_1","id_expediente":""},"response":null,"status":400},
{"time":"2019-02-12T14:41:30.3077709+01:00","ip":"::1","browser":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36","user":"28969523B","profile":"SUMUM_D?99?2017?2","controller":"Alteraciones_Primitivas_dmz_","service":"Ubicar","delegacion":null,"municipio":null,"method":"GET","parameters":{"id_alteracion":"11_31_17819","epsg":"EPSG:4326"},"response":null,"status":200},
{"time":"2019-02-12T14:41:38.7145697+01:00","ip":"::1","browser":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36","user":"28969523B","profile":"SUMUM_D?99?2017?2","controller":"Documentos_dmz_","service":"obtenerDocumento","delegacion":null,"municipio":null,"method":"GET","parameters":{"id_alteracion":"11_31_17819","documento":"E000226847","control":11},"response":null,"status":200}
编辑2
最后,
@holdenweb
解决方案对我有效!
with open('data.txt', 'ab'):
f.seek(-1, 2)
f.truncate()