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 :

Rechercher-remplacer guillemets double sous Windows


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Par défaut Rechercher-remplacer guillemets double sous Windows
    Bonjour,

    Je rencontre un problème très simple mais je ne suis pas arrivé à le résoudre de manière simple.
    Mon intention était d'enchainer des "rechercher-remplacer" sur un fichier mais je rencontre un problème avec les guillemets doubles.
    Le "rechercher-remplacer" ne fait pas le travail comme je l'attendais : il ne remplace rien

    Mon code fonctionne sous Linux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    f = open("monfichier.sql")
    o = open("output.sql","a")
    while 1:
      line = f.readline()
      if not line: break
      line = line.replace("DateTime","date")
      line = line.replace("\"","")
      o.write(line + "\n")
    o.close()
    Je dois rester sous Windows car je ne peux pas changer de système d'exploitation : j'ai d'autres traitements spécifiques à Windows (plus précisément du Access)

    Des solutions pour avoir un script "windows" compatible?

    Merci de vos réponses et d'éviter de "troller" (je suis pro "nunux" mais je fais avec les infrastructures existantes...)

    gratiert

  2. #2
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonjour gratiert,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    f = open('monfichier.sql', 'r')
    o = open('output.sql', 'w')
    while 1:
      line = f.readline()
      if not line: break
      line = line.replace('DateTime', 'date')
      line = line.replace('\\', '')
      o.write(line)
    o.close()
    A noter que tu vas te retrouver dans le même cas avec les chemins Windows :
    "C:\\\WINDOWS\\System"

    @+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Par défaut
    Bonjour,

    Merci de votre réponse PauseKawa. Malheureusement, votre proposition ne semble pas prendre en compte ma demande rechercher-remplacer de guillemets doubles.
    Je pense après m'être relu ne pas avoir été assez clair

    Mon fichier en entrée contient un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rtetereretet "fvhhvghhvhgv" gdfhfdfhg "ghdsghdhgds" fdfdgdd "tyy"
    La sortie souhaitée est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rtetereretet fvhhvghhvhgv gdfhfdfhg ghdsghdhgds fdfdgdd tyy
    La ligne dans mon code qui ne fonctionne pas comme je l'attend est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    line = line.replace("\"","")
    Merci encore

    gratiert

  4. #4
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Bonjour.

    Ne serait-ce pas plus simple de taper ce qui suit ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    line = line.replace('"','')

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Par défaut
    Bonjour,

    J'avais déjà testé, la syntaxe est plus simple mais le résultat du traitement est le même : rien n'a été remplacé dans mes guillemets.
    Je deviens "fou" : je bloque dessus ce problème depuis hier sur ce qui est ou parait être un détail!!

    Merci pour votre réponse

    gratiert

    PS : ma version de python est la 2.6.5

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Bonjour,


    Hier soir, à l’œil , je n’ai rien vu qui puisse expliquer le comportement que tu décris. Pour moi, il n’y a rien d’incorrect dans ton code.

    Ce matin je l’ai fait tourner, avec deux fichiers nommés exactement comme dans ton code, et j’ai bien obtenu le recopiage du premier à la fin du second sans les “

    Écrire
    revient au même et il est cohérent d’apprendre que ça ne change rien.

    Cohérent mais incompréhensible pour moi.





    Le code que tu fais effectivement tourner est-il bien à celui que tu as posté ? Ou l’as tu réduit pour poster un code plus court ?

    Quelle version de Python utilises tu ?

    Comment utilises tu Python ? Avec IDLE? En fenêtre Shell Python ? En fenêtre MS-DOS ? En association avec d’autres langages ou logiciels ?

  7. #7
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Je suis d'accord avec rambc, et chez moi, ça marche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    line = 'rtetereretet "fvhhvghhvhgv" gdfhfdfhg "ghdsghdhgds" fdfdgdd "tyy"'
    print line.replace('"','')
    rtetereretet fvhhvghhvhgv gdfhfdfhg ghdsghdhgds fdfdgdd tyy
    Il doit y avoir autre chose. Pb d'encodage?

    Tyrtamos (python 2.6.4)

  8. #8
    Invité de passage
    Femme Profil pro
    Consultant fonctionnel
    Inscrit en
    Juillet 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juillet 2012
    Messages : 1
    Par défaut guillemets double
    [



    pour les doubles guillemets tu fais alt 174 et pour fermer alt 175 voila
    tu dois laisser le doigt appuyé sur alt !!et taper les chiffres en même temps donc tape alt 174 pour ouvrir et alt 175 pour fermer ...


    B][/B]
    Citation Envoyé par gratiert Voir le message
    Bonjour,

    Je rencontre un problème très simple mais je ne suis pas arrivé à le résoudre de manière simple.
    Mon intention était d'enchainer des "rechercher-remplacer" sur un fichier mais je rencontre un problème avec les guillemets doubles.
    Le "rechercher-remplacer" ne fait pas le travail comme je l'attendais : il ne remplace rien

    Mon code fonctionne sous Linux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    f = open("monfichier.sql")
    o = open("output.sql","a")
    while 1:
      line = f.readline()
      if not line: break
      line = line.replace("DateTime","date")
      line = line.replace("\"","")
      o.write(line + "\n")
    o.close()
    Je dois rester sous Windows car je ne peux pas changer de système d'exploitation : j'ai d'autres traitements spécifiques à Windows (plus précisément du Access)

    Des solutions pour avoir un script "windows" compatible?

    Merci de vos réponses et d'éviter de "troller" (je suis pro "nunux" mais je fais avec les infrastructures existantes...)

    gratiert

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

Discussions similaires

  1. Worm PHP : Rechercher / Remplacer plusieurs fichiers sous linux
    Par atrhacker dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 14/11/2012, 20h06
  2. recherche de portail captif sous windows
    Par ogenki dans le forum Réseau
    Réponses: 8
    Dernier message: 12/04/2011, 14h04
  3. Recherche serveur Java gratuit sous Windows
    Par number-one dans le forum Autres
    Réponses: 1
    Dernier message: 17/03/2011, 12h22
  4. Precision float/double sous windows et UNIX
    Par m0ul3sh0t dans le forum Débuter
    Réponses: 3
    Dernier message: 30/09/2009, 14h24
  5. Recherche BDD telle que PGS sous Windows sans Cygwin ... :(
    Par Shepard dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 20/12/2004, 15h41

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