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 :

comment ecraser un fichier.


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 34
    Par défaut comment ecraser un fichier.
    salut tout merci, et un grand merci pout ous ceux qui m'ont aidé dans les autres discussions que j'avais lancé.
    mais voilà j'ai un autre soucis:
    dans mon programme j'ai deux fonctions:
    1)def nouveau: qui crée un fichier et affiche des valeurs par défaut dans les champs d'entrées.
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    def nouveau(self):
     
    		a=" project"
    		self.fichname.set(a)
    		b=1
    		self.output1.set(b)
    		c=1
    		self.plot1.set(c)
    		d=1
    		self.intpar1.set(d)
    		e=10
    		self.doublepar1.set(e)
    		f=10
    		self.complexpar1.set(f)
    		i=0
    		self.complexpar2.set(i)
    		g="project.m"
    		self.meshfile1.set(g)
    		h="project.m"
    		self.auxfile1.set(h)
     
     
    		file = open("%s"%(a),'w')
     
    		file.write('#PARAM!\n')
    		file.write('Proj %s\n'%(a))
    		output = b
    		file.write('Output %s\n'%(b))
    		plot = c
    		file.write('Plot %s\n'%(c))
    		#file.write('#Voltage flag\n')
    		intpar = d
    		file.write('IntPar %s\n'%(d))
    		#file.write('#Angular frenquency\n')
    		doublepar = e
    		file.write('DoublePar %s\n'%(e))
    		#file.write('#Voltage\n')
    		complexparre= f
    		complexparim= i
    		file.write('ComplexPar %s %s\n'%(f,i))
    		meshfile = g
    		file.write('MeshFile  %s\n'%(g))
    		auxfile = h
    		file.write('AuxFile  %s\n'%(h))
    		file.write('EOF\n')
     
    		file.close()
    2) def save: qui devrait sauvgarder les changements que l'utilisateur pourrait faire ds le fichier.
    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
    def save(self) :
     
    		#file.write('#PARAM!\n')
    		self.E_1.delete(0,taille1)
    		file.write('Proj %s\n'%(name))
    		output = self.output1.get()
    		file.write('Output %s\n'%(output))
    		plot = str(self.plot1.get())
    		file.write('Plot %s\n'%(plot))
    		#file.write('#Voltage flag\n')
    		intpar = str(self.intpar1.get())
    		file.write('IntPar %s\n'%(intpar))
    		#file.write('#Angular frenquency\n')
    		doublepar = str(self.doublepar1.get())
    		file.write('DoublePar %s\n'%(doublepar))
    		#file.write('#Voltage\n')
    		complexparre= str(self.complexpar1.get())
    		complexparim= str(self.complexpar2.get())
    		file.write('ComplexPar %s %s\n'%(complexparre,complexparim))
    		meshfile = self.meshfile1.get()
    		file.write('MeshFile  %s\n'%(meshfile))
    		auxfile = self.auxfile1.get()
    		file.write('AuxFile  %s\n'%(auxfile))
    		#file.write('EOF\n')
     
    		file.close()
     
    		b=self.fichname.get()
    		os.remove("C:/python24/projet/ofeli/tests/demos/electromagnetics/eddycurrent2d-1/%s"%(self.fichname.get()))
    j'ai pensé à faire ceci: quand l'utulisateur clique sur save ,et bien ça va créer un nouvau fichier avec les nouvelles données et je voudrais ecraser l'ancien.
    SAUF que le gros SOUCIS:comment faire pour retenir le nom de l'ancien fichier pour l'ecraser.
    sinon ça m'ecrase le fichier que je viens juste de créer.
    aidez moi svp.je sais pas si j'ai procédé de la bonne maniére ? et je voie aps sinon comment faire ça.
    ps: vous trouverez en piéce jointe mon code entier.
    merci
    Fichiers attachés Fichiers attachés
    • Type de fichier : py ec2d.py (10,6 Ko, 484 affichages)

  2. #2
    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,

    Si dans la méthode "nouveau()" de la classe application, tu crées le nom de fichier avec une variable préfixée par "self.", comme par exemple self.a=" project", alors cette variable est utilisable dans toutes les autres méthodes de la classe à condition de la préfixer par self. En fait, il serait logique de créer cette variable dans la méthode "__init__()".

    Par ailleurs, il faut réouvrir le fichier dans la méthode "save()" puisque tu l'as fermé dans "nouveau()". La variable "file" non préfixée par "self." n'est qu'une variable locale à la méthode: elle doit être initialisée dans la méthode avant d'être utilisée, et elle est détruite à la fin de chaque exécution de la méthode.

    En résumé: les variables créées et utilisées dans une classe avec le préfixe "self." sont en quelque sorte des "variables globales à la classe", et appartiennent à l'instance de classe (app dans ton cas).

    Tyrtamos

Discussions similaires

  1. Comment lire un fichier image
    Par Charlemagne dans le forum DirectX
    Réponses: 9
    Dernier message: 12/03/2004, 00h22
  2. Comment lancer un fichier HTML ??
    Par Franck.H dans le forum Windows
    Réponses: 2
    Dernier message: 25/01/2004, 20h00
  3. Comment créer un fichier dummy de taille donnée ?
    Par Maitre Kanter dans le forum Langage
    Réponses: 3
    Dernier message: 13/12/2003, 23h46
  4. [] [Stratégie] Comment créer un fichier log
    Par Skeezo dans le forum Installation, Déploiement et Sécurité
    Réponses: 4
    Dernier message: 16/09/2002, 18h30
  5. [langage] comment créer des fichiers ?
    Par Anonymous dans le forum Langage
    Réponses: 3
    Dernier message: 05/05/2002, 16h33

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