Ecriture du calendrier d'une année dans un fichier texte
nous avons déjà écrit un programme Cliquer ici pour y accéder qui affiche un calendrier d'une année
à saisir, pour obtenir l'affichage suivante :
Entrez une année : 2016
vendredi 1 Janvier 2016
samedi 2 Janvier 2016
dimanche 3 Janvier 2016
lundi 4 Janvier 2016
mardi 5 Janvier 2016
mercredi 6 Janvier 2016
jeudi 7 Janvier 2016
...
...
...
Modifier le programme de l’exercice pour écrire ses résultats d’affichage dans un fichier qu’on nomme « calendrier.txt ».
Une résolution de l'exercice "Ecriture du calendrier d'une année dans un fichier texte".
import calendar
""" Ce programme permet d'enregistrer le calendrier d'une année à saisir dans un fichier texte
"""
f = open("CalendrierEx6.txt", "w")
lemois = {0:"Janvier ", 1:"Février ", 2:"Mars ",3: "Avril ", 4:"Mai ",
5:"Juin ", 6:"Juillet ", 7:"Août ", 8:"Septembre", 9:"Octobre ",
10:"Novembre ", 11:"Décembre "}
joursMois = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
jourSemaine = ["lundi ", "mardi ", "mercredi", "jeudi ","vendredi",
"samedi ", "dimanche"]
annee= int(input("Entrez une année : "))
if(annee % 4 == 0 and annee % 100 != 0) or (annee % 400 == 0): # pour vérifier si l'année est bissextile ou pas
joursMois[1]=29
for j in range(0,12):
if j == 0 :
t = calendar.weekday(annee,1,1) # pour obtenir le jour de la semaine du premier janvier de l'année
jour = 0
while jour < joursMois[j] :
if jour <= 8 :
if joursMois[j] <=8 :
f.write(" "+str(jourSemaine[(jour+t)%7])+" "+ str(jour+1)+ " "+str(lemois[j])+" "+str(annee)+"\n")
else :
f.write(" "+str(jourSemaine[(jour+t)%7])+" "+ str(jour+1)+ " "+str(lemois[j])+" "+str(annee)+"\n")
else :
f.write(" "+str(jourSemaine[(jour+t)%7])+" "+ str(jour+1)+" "+str(lemois[j])+" "+str(annee)+"\n")
jour = jour + 1
t = (jour+t)%7 # pour tenir compte du décalage des jours de la semaine d'un mois à l'autre
Lecture d'un fichier texte
Ecrire un programme qui permet de lire le fichier "calendrier.txt" créé par le programme de l'exercice ci-dessus et d'afficher le texte.
Une résolution de l'exercice "Lecture d'un fichier texte".
"""
Ce programme permet de récupérer les données dans un fichier texte et de les affichier
"""
# ouverture du fichier en lecture :
f=open('CalendrierEx6.txt','r')
# récupération du contenu du fichier dans une chaîne (string) :
chaine=f.read()
# fermeture du fichier
f.close()
# impression de la chaine pour vérification :
print(chaine)
Ecriture d'un fichier texte donné.
Ecrire un programme permettant de créer un fichier texte et d'y écrire le texte suivant :
Résolution de l'exercice "Ecriture d'un fichier texte donné".
#ouverture du fichier en écriture :
f=open('exemple','w') # ou f=open(nom+'.pbm','w')
f.write('P1\n')
f.write(str(100)+' '+str(100)+'\n')
nbLignes = 0
while nbLignes<=100 :
for j in range(3):
for j in range(100):
f.write('0')
f.write('\n')
for j in range(3):
for j in range(100):
f.write('1')
f.write('\n')
nbLignes = nbLignes + 2*3
f.close()
Ou bien en utilisant les fonctions :
#ouverture du fichier en écriture :
f=open('Exemple1','w') # ou f=open(nom+'.pbm','w')
# déclaration de l'entête pour fichier pbm texte :
f.write('P1\n')
f.write(str(10)+' '+str(20)+'\n')
def ligneEpaisseurUn(couleur) :
for j in range(10) :
f.write(couleur)
f.write('\n')
def ligne(couleur) :
for j in range(3) :
ligneEpaisseurUn(couleur)
nbLignes=0
while nbLignes<=20 :
ligne('0')
ligne('1')
nbLignes+=(2*3)
f.close()
Pour approfondir le format du fichier texte ci-dessus, cliquer ici