Cześć,
mam problem z ponownym zapisywaniem do pliku json. Serwer dostaje wiadomość od klienta, w tym wypadku jest to "zadanie" ( tworzę taki jakby dziennik z użyciem klienta i serwera ) i dopisując odpowiednie ID ma za zadanie zapisać to w jsonie. Wszystko jest ok, przesyłam pierwszą wiadomość. Zapisuje do pliku, mam ładnie stworzone. Powtarzam czynność i niestety wszystko się nadpisuje. Co muszę zmienić w kodzie, aby dodawało się nowe pole?
from socket import*
import json
s = socket(AF_INET, SOCK_STREAM)
task_ID = 0
def main():
s.bind(('', 8888))
s.listen(5)
path = './'
fileName = 'Tasks'
while 1:
client, addr = s.accept()
global task_ID
task_ID += 1
print('Connected by:', addr)
data = client.recv(1024).decode()
data = str(task_ID)+'.'+data
data = data.split('.')
ToJson = {}
ToJson['ID'] = str(data[0])
ToJson['Task'] = str(data[1])
ToJson['Priority'] = str(data[2])
filePathNameWExt = './' + path + '/' + fileName + '.json'
with open(filePathNameWExt, 'w') as write_file:
json.dump(ToJson, write_file)
client.close()
Tak wygląda to w jsonie: https://pastebin.com/R34QLdYY