Création fichier txt Python

Résolu/Fermé
Vivic - Modifié le 21 janv. 2019 à 15:53
 Vivic - 22 janv. 2019 à 12:15
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.
A voir également:

1 réponse

lugdanum Messages postés 116 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 4 novembre 2024 41
21 janv. 2019 à 17:19
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
je te remercie d'avoir répondu. Je vais essayer et je te dit si sa fonctionne bien.
0
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
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