Python 文件按行读入,按行存储
json文件存储:
实现功能:
- 按行读入json文件,解码为Unicode后,对文件进行操作
- 对文件进行编码,转为json格式,按行存入新文本中
# -*- coding:utf-8 -*-
'''功能:1.按行读入json文件,解码为Unicode后,对文件进行操作
2.对文件进行编码,转为json格式,按行存入新文本中
作者:simleZenvo
'''
import os
import json
from difflib import SequenceMatcher
def txt_store(filePath, storeDirPath, fileName):
#if os.path.exists(filePath):
if os.path.exists(filePath):
with open(filePath) as fileGet:
for line in fileGet:
line_decoded = json.loads(line)
line_modificated = modificate(line_decoded)
#编码为json格式存储
line_encoded = json.dumps(line_decoded)
if not os.path.exists(storeDirPath ):
os.makedirs(storeDirPath)
if not os.path.exists(storeDirPath + '\\' + fileName):
fileOpen = open(storeDirPath + '\\' + fileName, 'w+')
fileOpen.write('%s%s' %(line_encoded, os.linesep))
else:
fileOpen = open(storeDirPath + '\\' + fileName, 'r+')
file_before = fileOpen.readlines()
fileOpen.close()
fileOpen = open(storeDirPath + '\\' + fileName, 'w+')
file_before.append(line_encoded+os.linesep)
fileOpen.writelines(file_before)
fileOpen.close()
# 对读入的文件进行修改,这里当做空操作示范
def modificate(line):
pass
return line
if __name__ == '__main__':
filePath = 'G:\\Python_test\\open\\VIP X1 video encoder_header_body_all'
storeDirPath = 'G:\\Python_test\\write'
fileName = 'practice'
txt_store(filePath, storeDirPath, fileName)