Sauvegarder liste dans un fichier

Fermé
alexdmds Messages postés 4 Date d'inscription mardi 30 décembre 2014 Statut Membre Dernière intervention 5 mars 2015 - 30 déc. 2014 à 17:19
dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 - 30 déc. 2014 à 20:04
Bonjour à tous,

Depuis quelques heures je ne parviens à rien,
alors dans un dernier espoir je me tourne vers vous...
Je travaille sous python sur windows 7 edition familiale premium.
Je cherche à exporter une liste (contenant des sous-listes, elles mêmes contenant des sous-listes...) dans un fichier à part, en dehors du programme pour les sauvegarder à la fin de l'exécution de celui-ci.
Je m'étais tourné vers le .csv mais je ne parviens à rien (du fait que les listes sont embriquées les unes dans les autres entre autre). Je ne suis pas fermé sur le .csv, un fichier .txt me correspondrait également. (ou autre).

Il faudrait seulement que je puisse définir deux fonctions, une important une liste à partir du fichier et une exportant une liste dans un fichier.

Merci beaucoup de votre aide,
toute piste que vous pourriez me donner serait précieuse !


A voir également:

2 réponses

Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 931
30 déc. 2014 à 18:03
Bonjour je ne fais pas de python, mais je pense que tu devrais t'orienter vers le xml.
Son format permet d'imbriquer des listes dans des listes, etc.. de façon ordonnées.
3
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 931
Modifié par Whismeril le 30/12/2014 à 18:28
un petit exemple que j'ai généré à partir d'un calendrier sur lequel je travaille en ce moment.
L'année est composée d'une liste de Mois, chaque moi à un nom et une liste de semaines, chaque semaine a un numéro et une liste de journées, chaque jour a une date et éventuellement une description (comme je l'ai fait vite, les descriptions vides apparaissent, mais ça se gère en .Net donc je pense qu'en Python aussi)


<?xml version="1.0" encoding="utf-8"?>
<Mois>
  <Moi>
    <Nom>Janvier</Nom>
    <Semaines>
      <Semaine>
        <Numéro>2015-53</Numéro>
        <Journées>
          <Jour>
            <Date>2016-01-01T00:00:00</Date>
            <Description>Jour de l'an</Description>
          </Jour>
          <Jour>
            <Date>2016-01-02T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-03T00:00:00</Date>
            <Description></Description>
          </Jour>
        </Journées>
      </Semaine>
      <Semaine>
        <Numéro>2016-01</Numéro>
        <Journées>
          <Jour>
            <Date>2016-01-04T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-05T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-06T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-07T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-08T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-09T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-10T00:00:00</Date>
            <Description></Description>
          </Jour>
        </Journées>
      </Semaine>
      <Semaine>
        <Numéro>2016-02</Numéro>
        <Journées>
          <Jour>
            <Date>2016-01-11T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-12T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-13T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-14T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-15T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-16T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-17T00:00:00</Date>
            <Description></Description>
          </Jour>
        </Journées>
      </Semaine>
      <Semaine>
        <Numéro>2016-03</Numéro>
        <Journées>
          <Jour>
            <Date>2016-01-18T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-19T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-20T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-21T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-22T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-23T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-24T00:00:00</Date>
            <Description></Description>
          </Jour>
        </Journées>
      </Semaine>
      <Semaine>
        <Numéro>2016-04</Numéro>
        <Journées>
          <Jour>
            <Date>2016-01-25T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-26T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-27T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-28T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-29T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-30T00:00:00</Date>
            <Description></Description>
          </Jour>
          <Jour>
            <Date>2016-01-31T00:00:00</Date>
            <Description></Description>
          </Jour>
        </Journées>
      </Semaine>
    </Semaines>
  </Moi>
  <Moi>
    <Nom>Février</Nom>
    <Semaines>
      <Semaine>
        <Numéro>2016-05</Numéro>
        <Journées>
          <Jour>
            <Date>2016-02-01T00:00:00</Date>
            <Description></Description>
          </Jour>


Note que l'année est trop longue pour l'affichage sur le forum, alors je m'arrête au 1 février
0
alexdmds Messages postés 4 Date d'inscription mardi 30 décembre 2014 Statut Membre Dernière intervention 5 mars 2015 > Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024
30 déc. 2014 à 18:33
Merci beaucoup ! Effectivement la structure correspond exactement à ce que je cherche à faire ! Après des brèves recherches sur l'exportation dans ce format, les modules ont l'air assez complexes, je ne suis que novice, si quelqu'un pouvait m'éclairer un peu dessus... En tout cas un grand merci, je vais creuser le XLM :)
0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 931
30 déc. 2014 à 18:40
De rien
0
dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 476
30 déc. 2014 à 20:04
Salut
si c'est juste pour sauvegarder et charger des listes alors tu peux utiliser pickle :
https://wiki.python.org/moin/UsingPickle (lis les limitations avant de te lancer)
https://diveintopython3.net/serializing.html
1