Création fichier txt Python

Résolu
Vivic -  
 Vivic -
Bonjour,
Tout est dit dans le titre,
Je débute en prog et j'essaye de créer un fichier texte et y mettre des données.
Je regarde sur des forums mais je crois que je m'y prend mal.
Voila mon programme :

#########J'IMPORTE LES BIBLIOTHEQUES DONT J'AI BESOIN#####################
import datetime
import os
import socket
import platform
import os.path

########J'INITIE MES VARIABLES########################################

#Cette variable que je transforme en objet va permettre plus loin dans le programme d'utiliser la variable ip qui va m'afficher l'adresse IP du PC
hostname = socket.gethostname()
ip = socket.gethostbyname(hostname)

#Je créé un objet qui va regarder toutes les informations contenant les dates
maintenant = datetime.datetime.now()

#Je créé un fichier txt
f = open("D:/programation/py/stage/fichier.txt")

############JE COMMENCE MON PROGRAMME######################

#Je défini le jour, le mois et l'année
def date():
    print("Nous sommes le " + str(maintenant.day) + "/" + str(maintenant.month) + " de l'an " + str(maintenant.year))

#Je défini l'heure et les minutes
def heure():
    print("Il est " + str(maintenant.hour) + " heures " + str(maintenant.minute) + " minutes")

#Je défini le nom du PC
def username():
    print("Ton PC se nomme " + str(['USERNAME']))

#Je défini le nombre de coeur du PC
#J'ouvre un fichier .bat qui permet de donner le nombre de coeur (logique) du processeur (car c'est chiant de le faire en python)
def coeurs():
    print("Ton processeur possède ")
    os.system('D:/programation/py/id/coeurs.bat')

#Je défini le nom complet du processeur
def processeur():
    print("Ton processeur se nomme " + str(platform.processor()))

#Je défini l'adresse IP
def ip():
    print("Ton adresse IP est : " + str(ip))

#Je défini les adresses MACs des réseaux des cartes réseaux connecter au PC
def mac():
    ipconfig = os.popen('ipconfig /all').readlines()
    for ligne in ipconfig:
        if 'physique' in ligne.lower():
            print("Ton adresse MAC est le premier de la liste : " + str(ligne.split('.')[1].strip()))

#Je défini la version de windows
#J'ouvre un fichier .bat qui va me donner la version de Windows (car c'est chiant et compliqué de le faire en python)
def ver():
    print("Ta version de Windows est : ")
    os.system('D:/programation/py/id/ver.bat')

f.write(date())
f.write(heure())
f.write(username())
f.write(coeurs())
f.write(processeur())
f.write(ip())
f.write(mac())
f.write(ver())
f.close


Merci de bien vouloir m'aider.

1 réponse

  1. lugdanum Messages postés 116 Date d'inscription   Statut Membre Dernière intervention   41
     
    Hello

    Comme ça vite fait :

    fichier = open("D:/programation/py/stage/fichier.txt", "a")
    ...
        fichier.write("Nous sommes le " + str(maintenant.day) + "/" + str(maintenant.month) + " de l'an " + str(maintenant.year))
        fichier.write("Il est " + str(maintenant.hour) + " heures " + str(maintenant.minute) + " minutes")
        fichier.write("Ton PC se nomme " + str(['USERNAME']))
        fichier.write("Ton processeur possède ")
        os.system('D:/programation/py/id/coeurs.bat')
        fichier.write("Ton processeur se nomme " + str(platform.processor()))
        fichier.write("Ton adresse IP est : " + str(ip))
        ipconfig = os.popen('ipconfig /all').readlines()
        for ligne in ipconfig:
            if 'physique' in ligne.lower():
                fichier.write("Ton adresse MAC est le premier de la liste : " + str(ligne.split('.')[1].strip()))
                
        fichier.write("Ta version de Windows est : ")
        os.system('D:/programation/py/id/ver.bat')
    ...
    fichier.close()


    ?
    @+
    0
    1. Vivic
       
      je te remercie d'avoir répondu. Je vais essayer et je te dit si sa fonctionne bien.
      0
    2. Vivic
       
      je viens de tester le programme auquel j'ai apporté plusieurs modifications pour qu'il fonctionne correctement mais il ne veut pas afficher dans le fichier txt se qu'il y a dans le ficher bat.
      je continue de chercher et je reviens plus tard.
      0
    3. Vivic
       
      Bon enfin de compte, je n'est pas totalement réussi.
      Mais sa ressemble a sa :

      ###############J'IMPORTE LES BIBLIOTHEQUES DONT J'AI BESOIN#########################
      import datetime
      import os
      import socket
      import platform
      import os.path

      #############J'INITIE MES VARIABLES##########################

      #Cette variable que je transforme en objet va permettre plus loin dans le programme d'utiliser la variable ip qui va m'afficher l'adresse IP du PC
      hostname = socket.gethostname()
      ip = socket.gethostbyname(hostname)

      #Je créé un objet qui va permettre à l'instant T de regarder toutes les informations concernant les dates
      maintenant = datetime.datetime.now()

      #Je créé un fichier txt
      fichier = open("D:/programation/py/stage/fichier.txt", "a")

      ##############JE COMMENCE MON PROGRAMME################
      fichier.write("Nous sommes le " + str(maintenant.day) + "/" + str(maintenant.month) + " de l'an " + str(maintenant.year))
      fichier.write('\n')
      fichier.write("Il est " + str(maintenant.hour) + " heures " + str(maintenant.minute) + " minutes.")
      fichier.write('\n')
      fichier.write("Ton PC se nomme " + str(os.environ['USERNAME']))
      fichier.write('\n')
      fichier.write("Ton processeur se nomme : " + str(platform.processor()))
      fichier.write('\n')
      fichier.write("Ton adresse IP est : " + str(ip))

      fichier.close()


      Et le fichier txt ressemble a sa :
      Nous sommes le 22/1 de l'an 2019
      Il est 12 heures 12 minutes.
      Ton PC se nomme x
      Ton processeur se nomme : Intel64 Family 6 Model 42 Stepping 7, GenuineIntel
      Ton adresse IP est : x.x.x.x


      Encore merci de m'avoir aider.
      0