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

Python Discussion :

Problème open() ,\ windows


Sujet :

Python

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 85
    Points : 48
    Points
    48
    Par défaut Problème open() ,\ windows
    Voila je sais pas si je poste au bon endroit n'hésitez pas à déplacer.
    je suis en train de faire un petit programme pour modifier un fichier et lancez un programme :
    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
    #-*- coding:Utf-8 -*-
    from Tkinter import *
    import sys
    import os
    hostloc = "C:\WINDOWS\system32\drivers\etc\"
    gameloc = "/home/noquioz/Bureau/DropBalls_interface.py"
     
     
     
    #def patcher(choix) :
    	#if choix ==1 :
     
    host= open(hostloc+"host", "a")
    host.close()
    host= open(hostloc+"host", "w")
    host.write('127.0.0.1 localhost\n')
    host.write('88.191.80.222 l2authd.lineage2.com\n')
    host.write('88.191.80.222 L2testauthd.lineage2.com\n')
    host.write('216.107.250.194 nprotect.lineage2.com\n')
     
     
    	#elif choix ==2 :		
    os.startfile(gameloc)
    raw_inut()
    le seul petit probleme c'est les \ des fichiers windows T.T
    sous linux sa fonctionne très bien sauf le os.start mais je croix que c'est normal donc si quelqu'un saurait comment annuler c'est \ .
    et par la même occase comment pourais-je faire pour que mes 2er variables soit dans un autre fichier ?
    comme include blabla.php
    dans le php.

    Merci d'avance =)

    (Ps : ne vous occupez pas des commentaires le programme n'est pas encore finit =P)

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 264
    Points : 725
    Points
    725

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 85
    Points : 48
    Points
    48
    Par défaut
    Oups merci j'avais pas vu =P
    et pour le fichier qui contient des variables qulqu'un sait ?

  4. #4
    Membre éclairé
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Points : 773
    Points
    773
    Par défaut
    comma dit dans la faq, \ est un caractère d'échappement donc soit tu le double, soit tu met un r devant ta chaîne de caractère (r'bla\blabl'), soit tu remplaces simplement tes \ par des /, python interprète très bien les chemins windows avec des slashs (c'est d'ailleurs plus rapide à écrire)...

    Ensuite pour sauvegarder UNE variable (ou objet) dans UN fichier, y'a le module pickle, fourni avec python :
    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
    import pickle as pk
    a='ceci'
    b=['cela',"et encore d'autres choses"]
     
    #pour sauvegarder un objet dans un fichier:
    fop=open('./UnFichierN1','w')
    pk.dump(fop, a) #c'est cette commande qui permet de sauvegarder
    fop.close()
     
    fop=open('./UnFichierN2','w')
    pk.dump(fop, b)
    fop.close()
     
    #pour charger un objet à partir d'un fichier:
    fop=open('./UnFichierN1','r')
    a=pk.load(fop) #c'est cette commande qui permet de charger
    fop.close()
     
    fop=open('./UnFichierN2','r')
    b=pk.load(fop)
    fop.close()

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 85
    Points : 48
    Points
    48
    Par défaut
    Citation Envoyé par N.tox Voir le message
    UNE variable
    sa veut dire pas plus d'une variable ?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 85
    Points : 48
    Points
    48
    Par défaut
    J'ai esseyez ton script il ne marche pas =(

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Traceback (most recent call last):
      File "C:\Documents and Settings\Julien\Bureau\importvari.py", line 7, in <module>
        pk.dump(fop, a) #c'est cette commande qui permet de sauvegarder
      File "C:\Python25\lib\pickle.py", line 1362, in dump
        Pickler(file, protocol).dump(obj)
      File "C:\Python25\lib\pickle.py", line 203, in __init__
        self.write = file.write
    AttributeError: 'str' object has no attribute 'write'
    il ne prend pas en charge le str ?

  7. #7
    Membre éclairé
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Points : 773
    Points
    773
    Par défaut
    Autant pour moi ! , voici la marche à suivre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    import pickle as pk
    a='blabla'
     
    fop=('./test','w')
    pk.dump(a,fop)
    fop.close()
    Désolé

  8. #8
    Membre éclairé
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Points : 773
    Points
    773
    Par défaut
    Citation Envoyé par noquioz Voir le message
    sa veut dire pas plus d'une variable ?
    ça veut dire une variable par fichier, donc autant de fichiers que de variables à sauvegarder... il peut être pratique de regrouper ces dernière dans un dico ou une liste

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 85
    Points : 48
    Points
    48
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AttributeError: 'tuple' object has no attribute 'write'
    toujours pas =(

    N'ya t'il vraiment pas de moyen de mettre plusieur variable dans un seul fichier ?

  10. #10
    Membre éclairé
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Points : 773
    Points
    773
    Par défaut
    C'est normal, tu essayes de faire UnTuple.write(), ce qui n'est pas possible... write() ne s'effectue que sur une référence à un fichier en mode écriture ('w' comme write)
    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    a='UnString'
    fichier=open('./toto','w')
    fichier.write(a)
    fichier.close()
    Je t'encourage fortement à lire ce cours, qui est vraiment très complet : http://python.developpez.com/cours/TutoSwinnen/

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 85
    Points : 48
    Points
    48
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    fichier_config= open('config.ini', 'r')
    contenu = fichier_config.readlines()
    fichier_config.close ()
    .......
     
     
    hostloc = str(contenu[1][0:len(contenu[1])-1]) # emplacement host
    gameloc = str(contenu[2][0:len(contenu[2])-1]) #emplacement game
    ipadress = str(contenu[3][0:len(contenu[3])-1]) #adresse ip
    core = str(contenu[4][0:len(contenu[4])-1])#no versi
    voila comment j'ai fait =P

  12. #12
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    SRE
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : SRE

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 865
    Points
    1 865
    Par défaut
    si non si tu a besoin de sauvegarder plus de données, tu peut regarder du coté du module sqlite qui est integré a python, ou alors yaml

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

Discussions similaires

  1. problème avec window.opener
    Par Invité dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/09/2007, 14h42
  2. Probléme avec window.open()
    Par faico dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/07/2006, 14h09
  3. Probléme avec window.opener.document
    Par FoxLeRenard dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/02/2006, 21h38
  4. window.open window.focus
    Par lucie.houel dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/08/2005, 17h39
  5. Problème de window.alert sous ie!
    Par chuart dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/02/2005, 12h47

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