IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

wxPython Discussion :

Problème de Liste oO


Sujet :

wxPython

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 172
    Par défaut Problème de Liste oO
    Coucou c'est encore moi avec une fois de plus un petit problème à résoudre

    Voilà j'ai un fichier texte qui contient des listes du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    # -*- coding: cp1252 -*-
    ListePays = ['Afghanistan', 'Afrique-du-Sud', 'Albanie', 'Algerie', 'Allemagne', 'Andorre', 'Angola', 'Antigua-et-Barbuda', 'Arabie-Saoudite', 'Argentine', 'Armenie', 'Australie', 'Autriche', 'Azerbaidjan', 'Bahamas', 'Bahrein', 'Bangladesh', 'Barbade', 'Belgique', 'Belize', 'Benin', 'Bermudes', 'Bhoutan', 'Bielorussie', 'Birmanie-(Myanmar)', 'Bolivie', 'Bosnie-Herzegovine', 'Botswana', 'Bresil', 'Brunei', 'Bulgarie', 'Burkina-Faso', 'Burundi', 'Cambodge', 'Cameroun', 'Canada', 'Cap-Vert', 'Iles-Cayman', 'Centrafrique', 'Chili', 'Chine', 'Chypre', 'Colombie', 'Comores', 'Congo-democratique', 'Congo', 'Coree-du-Nord', 'Coree-du-Sud', 'Costa-Rica', 'Cote-d-Ivoire', 'Croatie', 'Cuba', 'Danemark', 'Djibouti', 'Dominique', 'Republique-Dominicaine', 'Egypte', 'Emirats-Arabes-Unis', 'Equateur', 'Erythree', 'Espagne', 'Estonie', 'Etats-Unis', 'Ethiopie', 'Feroe-(iles)', 'Fidji', 'Finlande', 'France', 'Gabon', 'Gambie', 'Georgie', 'Ghana', 'Grece', 'Grenade', 'Groenland', 'Guadeloupe', 'Guatemala', 'Guinee', 'Guinee-Bissau', 'Guinee-equatoriale', 'Guyana', 'Guyane', 'Haiti', 'Honduras', 'Hong-Kong', 'Hongrie', 'Iles-Anglo-normandes', 'Inde', 'Indonesie', 'Irak', 'Iran', 'Irlande', 'Islande', 'Israel', 'Italie', 'Jamaique', 'Japon', 'Jordanie', 'Kazakhstan', 'Kenya', 'Kirghizstan', 'Kiribati', 'Kosovo', 'Koweit', 'Laos', 'Lesotho', 'Lettonie', 'Liban', 'Liberia', 'Libye', 'Liechtenstein', 'Lituanie', 'Luxembourg', 'Macao', 'Macedoine', 'Madagascar', 'Malaisie', 'Malawi', 'Maldives', 'Mali', 'Malouines-(Falkland)-(iles)', 'Malte', 'Maroc', 'Marshall', 'Martinique', 'Maurice', 'Mauritanie', 'Mexique', 'Micronesie', 'Moldavie', 'Monaco', 'Mongolie', 'Montenegro', 'Mozambique', 'Myanmar-(Birmanie)', 'Namibie', 'Nauru', 'Nepal', 'Nicaragua', 'Niger', 'Nigeria', 'Norvege', 'Nouvelle-Caledonie', 'Nouvelle-Zelande', 'Oman', 'Ouganda', 'Ouzbekistan', 'Pakistan', 'Palau', 'Palestine', 'Panama', 'Papouasie-Nouvelle-Guinee', 'Paraguay', 'Pays-Bas', 'Perou', 'Philippines', 'Pologne', 'Porto-Rico', 'Portugal', 'Qatar', 'Republique-tcheque', 'Reunion', 'Roumanie', 'Royaume-Uni', 'Russie', 'Rwanda', 'Sahara-Occidental', 'Saint-Christophe-et-Nevis', 'Saint-Marin', 'Saint-Vincent-et-les-Grenadines', 'Sainte-Helene-(ile)', 'Sainte-Lucie', 'Salomon', 'Salvador', 'Samoa', 'Sao-Tome-et-Principe', 'Senegal', 'Serbie', 'Seychelles', 'Sierra-Leone', 'Singapour', 'Slovaquie', 'Slovenie', 'Somalie', 'Somaliland', 'Soudan', 'Sri-Lanka', 'Suede', 'Suisse', 'Surinam', 'Syrie', 'Swaziland', 'Tadjikistan', 'Taiwan', 'Tanzanie', 'Tchad', 'Tchequie', 'Thailande', 'Tibet', 'Timor-Oriental', 'Togo', 'Tonga', 'Trinite-et-Tobago', 'Tristan-Da-Cunha-(ile)', 'Tunisie', 'Turkmenistan', 'Turquie', 'Tuvalu', 'Ukraine', 'Uruguay', 'Vanuatu', 'Vatican', 'Venezuela', 'Vietnam', 'Vierges-americaines', 'Yemen', 'Zambie', 'Zimbabwe']
    Naturel =['ANNUEL','CENTENAL','DECENNAL','NON PRIS EN COMPTE','PLUSIEURS FOIS PAR AN','3 OU 5 ANS']
    GeneralPolitique =['NON','NON PRIS EN COMPTE','OUI','PARTIEL(LE)']
    Delinquance =['AUCUN','DE 11 à 20 ‰','DE 6 à 10 ‰','MOINS de 5 ‰','NON PRIS EN COMPTE','PLUS DE 20 ‰']
    Sanitaire=['EXCEPTIONNEL','EXPOSITION FAIBLE','NON PRIS EN COMPTE','PANDEMIE OU EPIDEMIE EN COURS','RISQUE ENDEMIQUE','RISQUE MODERE PERMANENT']
    Infrastructure=['FAIBLE OU INEXISTANT','LEGEREMENT DEGRADE','NON PRIS EN COMPTE','PEU DEVELOPPE','RESEAU OPERATIONNEL','RESEAU TRES DEGRADE']
    Je voudrais dans mon appli pouvoir écrire dans une des listes, y ajouter un élément en gros, je sais ajouter un élément dans une liste avec la methode append(), cependant comme ces listes se trouvent dans un fichier texte j'ai du mal... Mon dernier essai a effacé les listes du fichier texte...

    J'avais essayé de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ComboOuv=open(ComboDir,'w')
              exec(ComboOuv)
              ListePays.write(NPaysCap)
              ComboOuv.close()
    Ou ComboDir est le chemin du fichier contenant les listes et NpaysCap le string a ajouter dans la liste.
    ListePays est le nom de la 1ère liste du fichier.

    Merci d'avance à ceux/celles qui m'aideront

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 068
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> texte='mon_liste=[1,2,3,4]\nmon_tuple=5,8,9,7'
    >>> exec(texte)
    >>> mon_liste
    [1, 2, 3, 4]
    >>> mon_tuple
    (5, 8, 9, 7)
    >>> mon_liste.append(5)
    >>> mon_liste
    [1, 2, 3, 4, 5]

  3. #3
    Membre éclairé Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Par défaut
    salut,
    très rapidement(sans doute pas la meilleure solution) transformer ton tableau en texte avant de l'écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    tab.append(nouvelle_entree)
     
    txt = "taListe = ["
    for i in tab:
       txt = txt + " ' "+ i +" ', "
    #tu enlève la dernière virgule quand tu sort
    txt = "]"
     
    ensuite tu écris ça dans ton fichier

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Tableau ? où ça un tableau ?

    Si il s'agit de listes créées dans un script et enregistrées dans cette forme, ce n'est pas très fonctionnel, il faudra recréer les listes à la lecture du fichier, Python fait ça tout seul avec le module pickle.

    Avec l'exemple donné, il suffit de mettre les listes dans un dico:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    listes = {'ListePays': ListePays, 'Naturel': Naturel, ...}
    Sauver dans un fichier le dico tel quel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    import pickle
    with open('mesListes', 'w') as outf:
        pickle.dump(listes, outf)
    Recupérer ses listes aussi simplement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    with open('mesListes', 'r') as inf:
        listes = pickle.load(inf)
    ListePays = listes['ListePays']
    Naturel = listes['Naturel']
    ...


    Edit: J'ajouterai que pour récupérer les listes de ton fichier actuel, il te suffit de lui donner l'extension .py et de l'importer.

    Disons que tu le nommes mesListes.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    import mesListes
     
    ListePays = mesListes.ListePays
    Naturel = mesListes.Naturel
    ...

  5. #5
    Membre très actif
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Edit: J'ajouterai que pour récupérer les listes de ton fichier actuel, il te suffit de lui donner l'extension .py et de l'importer.

    Disons que tu le nommes mesListes.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    import mesListes
     
    ListePays = mesListes.ListePays
    Naturel = mesListes.Naturel
    ...
    Celle la, je l'ignorais totalement
    Win 10 64 bits / Linux Mint 18, - AMD A6 Quad: Py27 / Py35
    CONTENU D'UNE QUESTION
    Exemples:
    - Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
    - Code source du morceau de programme où il y a un bogue
    - Ligne de code sur laquelle le bogue apparaît
    - Erreur complète retournée pas l'interpréteur Python
    - Recherche déjà effectuée (FAQ, Tutoriels, ...)
    - Tests déjà effectués

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 172
    Par défaut
    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Problème de liste déroulante dynamique
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 03/03/2006, 16h38
  2. Problème de liste déroulante et js...
    Par Empty_body dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/03/2006, 10h44
  3. [MySQL] Problème de listes déroulantes liées avec requêtes sql
    Par richton95 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/12/2005, 16h04
  4. Problème avec liste déroulante
    Par Invité dans le forum IHM
    Réponses: 2
    Dernier message: 14/12/2005, 21h04
  5. Problème avec listes liées entre elles et bouton "précé
    Par Oluha dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/08/2005, 15h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo