Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/01/2015, à 18:04

jspp

créer un fichier texte avec des variable en python

bonjour,
comment peut-on créer un fichier texte lisible par n'importe quel éditeur de texte:
genre:
texte,a
ou a = un nombre quelconque
j'ai bien trouvé:
f = open('fichier test','w')
f.write('premier test')
f.close()
mais si j'écris:
f.write('fichier test',a)
marche pas,j'ai un message d'erreur
merci a tous de votre aide

Hors ligne

#2 Le 17/01/2015, à 18:18

pingouinux

Re : créer un fichier texte avec des variable en python

Bonjour,
Que veux-tu faire exactement ?
Précise ce que tu veux, et fais un copier-coller du message d'erreur (entre balises-code).

Hors ligne

#3 Le 17/01/2015, à 18:29

jspp

Re : créer un fichier texte avec des variable en python

#!/usr/bin/python
f = open('fichier test','w')
a = 100
f.write('premier test')
f.write(a)
f.close()
le message d'erreur est le suivant:
File "fiche.py", line 5, in <module>
    f.write(a)
TypeError: expected a character buffer object
en faite ça c'est un exemple,je suis occuper de traduire en pyton un de mes ancien programme gw basic qui gère mes compte et je dois écrire dans un fichier séquentiel.
j'ai déjà résolu pas mal de problemes mais la je sèche.
je vous met la ou j'en suis :
#!/usr/bin/python
# -*- coding: utf-8 -*-import os
import os
os.system('clear')
red = '\033[31m'
green = '\033[32m'
blue = '\033[34m'
orange = '\033[33m'
for i in range (50) :
    os.system('clear')
    print orange
    print("Gestion compte")
    print("**************")
    print
    print("Encodage des données")
    print("====================")
    print green
    m = raw_input("Nom du mois ")   
    print blue
    rdtv = input("-Redevance tv : ")
    me = input("-Medecin : ")
    re = input("-Bus : ")
    hpt = input("-Hospimut :")
    synd = input("-Syndicat :")
    elga = input("-Electricité/gaz :")
    av = input("-Assurance voiture : ")
    asi = input("-Assurance incendie : ")
    asf = input("-Assurance familiale : ")
    telb = input("-Télephone Belgacom : ")
    telp = input("-Téléphone proximus : ")
    txr = input("-Taxe de roulage : ")
    empv = input("-Emprunt voiture : ")
    locg = input("-Location garage : ")
    frv = input("-Frais voiture : " )
    ess = input("-Essence : ")
    deps = input("-Dépenses scolaire : ")
    cou = input("-Courses du mois : ")
    vet = input("-Vêtements : ")
    chss = input("-Chaussures :")
    chff = input("-chauffage : ")
    mtl = input("-Mutuelle : ")
    fte = input("-Facture eau : ")
    atrs = input("-Autre : ")
    choix =raw_input("Les données sont-elles correcte  o/n : ")
    if choix == 'o' : break
os.system('clear')   
for i in range(50) :
    print
    print orange
    print'            Entrée de donnée salaire'
    print'            ------------------------'
    print
    sal = input("-Salaire : ")
    acc = input("-Accompte : ")
    alloc = input("-Allocations familiale : ")
    chqr = input("-Chèques repas : ")
    autrs = input("-Autres : ")
    choix =raw_input("Les données sont elles correcte o/n : ")
    if choix == 'o' :break
   

os.system('clear')
print red
print'Résumer du mois de :',m
print("-------------------")
print
print
print blue
print'-Redevance tv ',rdtv
print'-Medecin ',me
print'-Bus ',re   
print'-Hospimut ',hpt
print'-Syndicat ',synd
print'-Electricité/gaz',elga
print'-Assurance voiture ',av
print'-Assurance incendie ',asi
print'-Assurance familiale ',asf
print'-Téléphone belgacom ',telb
print'-téléphone proximus ',telp
print'-Taxe de roulage ',txr
print'-Emprunt voiture ',empv
print'-Location garage ',locg
print'-Frais voiture ',frv
print'-Essence ',ess
print'-Dépences scolaire ',deps
print'-Courses du mois ',cou
print'-Vêtements ',vet
print'-Chaussures ',chss   
print'-Chauffage ',chff
print'-Mutuelle ',mtl
print'-Facture eau ',fte
print'-Autres ',atrs
print green
print'-Salaire : ',sal
print'-Accompte : ',acc
print'-Allocation familiale : ',alloc
print'-Chèques repas : ',chqr
print'-Autres : ',autrs
ddm = rdtv+me+re+hpt+synd+elga+av+asi+asf+telb+telp+txr+empv+locg+frv+ess+deps+cou+vet+chss+chff+mtl+fte+atrs
avoir = sal+acc+alloc+chqr+autrs
reste = avoir-ddm
while True :
    i = raw_input("       Appuyer sur 's' pour la suite,svp ")
    if i == 's' : break
    print'             réessayer svp'   
os.system('clear')
print("*"*80)
print
print
print'                                  Prévision pour le mois de : ',m
print
print("*"*80)
print
print
print'* Les avoirs total du mois seront de : ',avoir,' euros'
print'* Les dépenses du mois seront de : ',ddm,' euros'
print
print
print("-"*80)
print'*il vous restera a la fin du mois :',reste,' euros'
print
print
print("*"*80)
print
print
choix = raw_input("voulez-vous enregitré dans un fichier o/n ")

Hors ligne

#4 Le 17/01/2015, à 18:36

pingouinux

Re : créer un fichier texte avec des variable en python

jspp a écrit :

File "fiche.py", line 5, in <module>
    f.write(a)
TypeError: expected a character buffer object

Il faut convertir le int en str.

f.write(str(a))

ou bien

f.write("%d"%a)

Je jette un œil à la suite.

Hors ligne

#5 Le 18/01/2015, à 10:22

jspp

Re : créer un fichier texte avec des variable en python

un grand merci,ça roule impec.
Bonne journée:)

Hors ligne