Bonsoir à tous,
j'ai un petit souci que je n'arrive pas à régler et j'ai pas mal cherché mais je ne trouve pas de réponse, bien que je suis sure que celle-ci existe j'ai du mal à formuler ma question !
le projet: un serveur tous simples qui tourne en boucle et qui a chaque fois qu’un client se connecte le serveur recherche si le client existe dans un dico si ce n'est pas le cas il crée un nouveau client et le tous est enregistré dans un fichier.(pickle)
dans mon projet j'ai 2 fichiers un avec la classe serveur qui contient les données(nombre de client,liste_client,...) et l'autre ou il y a certaines fonctions(dont pickle_save et pickle_load).Mon but est de pouvoir faire une fonction pickle_load(fichier_a_load,[liste,de_variable,qui,seront,load])//pickle_load("str","liste") ce qui me permettrait pour plus tard pouvoirs appeler la fonction pickle_load et de charger un nombre de variable dans une liste(pour gagner du temps)... tous sa est pas très claire désolée. je vais vous mettre les code se sera peut-être plus simple ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 fichier1:serveur class Serveur_Global(): def __init__(self): self.nombre=0 liste_client={} Pickle.Load_Donne("teste", [liste_client, self.nombre]) Pickle.Sauvegarde_Donnee("teste", [liste_client, self.nombre])voilà en gros le but serait donc de pouvoir faire des pickle.dump et pickle.load juste en une ligne sans devoir refaire une fonction ou devoirs me taper 20 lignes de pickle.dump /load vue que tous ce fait par parcoure d'une liste d’élément
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 fichier2:fonction def Sauvegarde_Donnee(file, data): verif=1 print(data) with open(file, "wb") as fichier: pick=pickle.Pickler(fichier) for i in range(len(data)): try: pick.dump(data[i]) except: verif=0 break if verif!=0: print("donnée sauvegarder avec succes") ############################################################## def Load_Donnee(file , data): verif=os.path.exists(file) if verif!=False: with open(file, "rb") as fichier: pick=pickle.Unpickler(fichier) for i in data: i=pick.load() return i # en retournant i je croyait que la variable data[i] serais modifier dans le fichier serveur mais non ... else: print("no found !\n") while 1: choix=input("crée le fichier ? y/n") if choix=="y": open(file, "wb") break elif choix=="n": break
seulement pour la sauvegarde sa marche impec mais pour le load les données dans le fichier serveur ne sont pas modifier , j'ai plus ou moin compris le pourquoi me je ne trouve pas le comment résoudre cette affaire-là...
je tiens a préciser que je débute dans la programmation donc mon code est un peu brouillon... également peut être que je fait complètement fausse route et qu'il y a une façon de faire beaucoup plus simple .
je vous Remercie d'avance pour votre aide !![]()
Partager