2 回答

TA貢獻1895條經驗 獲得超3個贊
問題可能是a.readlines()因為它將整個文件帶到您的記憶中。在處理大文件時,逐行讀取它會更有趣,如下所示:
with open(fname) as f:
for line in f:
# Do your magic here, on this loop
# No need to close it, since the `with` will take care of that.
如果您的目標是$用 a替換 each \n,它將是這樣的:
with open(fname, "r+") as f:
for line in f:
line.replace("$", "\n")

TA貢獻1875條經驗 獲得超5個贊
為了能夠處理可能的$字符的字符串中的JSON對象,你可以拆分輸入字符串data1與$成片段,由一個加盟片段轉換成字符串一個,直到它可解析為JSON,點你輸出該串并清楚地繼續下一個片段:
import json
candidate = ''
for fragment in data1.split('$'):
candidate += fragment
try:
json.loads(candidate)
print(candidate)
candidate = ''
except json.decoder.JSONDecodeError:
candidate += '$'
continue
data1 = '''{}${"a":"$"}${"b":{"c":2}}'''例如,給定,這輸出:
{}
{"a":"$"}
{"b":{"c":2}}
添加回答
舉報