Fichiers-txt-csv-dictionnaire
      OUVERTURE
      _images/python10p01.png

      Mode

      Effet

      "r"
      

      Ouvre le fichier en mode lecture (r = read ).

      "w"
      

      Ouvre le fichier en mode écriture ( w = write ). Si le fichier n’existe pas il est créé, si le fichier existe déjà, il est écrasé.

      "a"
      

      Ouvre le fichier en mode ajout ( a = append ). Si le fichier n’existe pas, il est créé, sinon, les ajouts se feront à la fin du fichier existant.

FERMETURE :
_images/python10p02.png

Exemple 0801 :

      _images/image175.png
      _images/image181.png
LECTURE :
_images/python10p04.png
_images/image176.png
_images/image177.png

Une autre méthode pour lire l’intégralité d’un fichier en une instruction seulement est d’utiliser \(readlines()\). Ce n’est possible que si le fichier n’est pas trop volumineux : puisqu’il est copié intégralement dans une variable, c’est-à-dire dans la mémoire vive de l’ordinateur.

Remarque :

_images/python10p05.png
_images/image178.png
ECRITURE :
_images/python10p06.png
_images/image179.png
_images/image181a.png.png
fichier csv

Ouverture d’un fichier :

_images/python10p7.png

Fermeture d’un fichier:

_images/python10p08.png
LISTE :

Chaque ligne est une liste, et toutes les valeurs sont des chaînes de caractères.

_images/image184.png
DICTIONNAIRE :
_images/python10p09.png
Dessins CSV

Code

Fichier CSV

#0804 dessins csv.py
import csv
from tkinter import*
def creerfenetre(fenetre,titre,taille):
  "modifie une fenêtre"
  fenetre.title(titre)
  fenetre.geometry(taille)
  return fenetre
def dessine_csv(can):
  """Ouvre le fichier csv et dessine dans le canevas les figures"""
  ft='verdana 12 bold'
  with open("figure.csv") as fichier_cvs:
    lecture=csv.DictReader(fichier_cvs,delimiter=";")
    for ligne in lecture:
      donnees=ligne["polygone"]
      #split transforme une chaîne de caractères en une liste
      d=donnees.split(',')#  voir chapitre types de données
      figure=ligne['figure']
      coord=ligne['polygone']
      couleur=ligne['couleur']
      x1,y1,x2,y2=int(d[0]),int(d[1]),int(d[2]),int(d[3])
      xi,yi=int((x1+x2)/2),int((y1+y2)/2)
      if figure=='polygone' :
         can.create_polygon(d,fill=couleur)
         can.create_text(xi+20,yi+100,text=pays,font=ft)
      if figure=='triangle' :
         can.create_polygon(d,fill=couleur)
         can.create_text(xi+20,yi+100,text=figure,font=ft)
      if figure=='rectangle':
         can.create_rectangle(d,fill=couleur)
         can.create_text(xi,yi,text=figure,font=ft)
      if figure=='cercle' or figure=='ellipse':
         can.create_oval(d,fill=couleur)
         can.create_text(xi,yi,text=figure,font=ft)
       fichier_cvs.close()
#---------------------------------------#
largeur,hauteur=1000,640
fenetre=Tk()
taille=str(largeur)+"x"+str(hauteur)
titre="Dessins CSV"
creerfenetre(fenetre,titre,taille)
can=Canvas(fenetre,width=largeur,height=hauteur,bg="white")
can.grid(row=0,column=0)
dessine_csv(can)
fenetre.mainloop()
_images/image189.png
résultat NSI Compter les lettres

Code

Fichier CSV

majuscules=[65, 66, 67, 68, 69, 70, 71, 72,
                      73, 74, 75, 76, 77, 78, 79, 80,
                      81, 82, 83, 84, 85, 86, 87, 88, 89, 90]
minuscules=[97, 98, 99, 100, 101, 102, 103, 104, 105,
                106, 107, 108, 109, 110, 111, 112, 113,
                114, 115, 116, 117, 118, 119, 120, 121, 122]
for i in range(len(majuscules)):
      print('"'+chr(majuscules[i])+'"',end=',')
for i in range(len(minuscules)):
      print('"'+chr(minuscules[i])+'"',end=',')
Fabriquer les fichiers
# file-append.py
f = open('fichier1.txt','a')
f.write("Lecture dans un fichier\n")
f.write("Une grande partie de l'information \n")
f.write("en biologie est stockée sous forme\n")
f.write("de texte dans des fichiers.\n")
f.write("Pour traiter cette information,\n")
f.write("vous devez le plus souvent lire\n")
f.write("ou écrire dans un ou plusieurs fichiers.\n")
f.write("Python possède pour cela de nombreux \n")
f.write("outils qui vous simplifient la vie.\n")
f.close()

f = open('fichier2.txt','a')
f.write("Chaque élément de la liste lignes est\n")
f.write("une chaîne de caractères.\n")
f.write("C'est en effet sous forme de chaînes \n")
f.write("de caractères que\n")
f.write("Python lit le contenu d'un fichier.\n")
f.close()
f = open('fichier3.txt','a')
f.write("Chaque élément de la liste lignes se termine par le caractère \n.\n")
f.write("Ce caractère un peu particulier correspond au « saut de ligne »\n")
f.write("qui permet de passer d'une ligne à la suivante. \n")
f.write("Ceci est codé par un caractère spécial que l'on représente par \n.\n")
f.write("Vous pourrez parfois rencontrer également la notation octale \012.\n")
f.close()
        f = open('fichier-donnees.txt','a')
f.write("code ASCII :\n")
f.write("  33 =  !\n")
f.write('  34  = " ;  35  = # ;  36  = $ ;  37  = % ;  38 =  &\n')
f.write("  39  = ' ;  40  = ( ;  41  = ) ;  42  = * ;  43 =  +\n")
f.write("  44  = , ;  45  = - ;  46  = . ;  47  = / ;  48 =  0\n")
f.write("  49  = 1 ;  50  = 2 ;  51  = 3 ;  52  = 4 ;  53 =  5\n")
f.write("  54  = 6 ;  55  = 7 ;  56  = 8 ;  57  = 9 ;  58 =  :\n")
f.write("  59  = ; ;  60  = < ;  61  = = ;  62  = > ;  63 =  ?\n")
f.write("  64  = @ ;  65  = A ;  66  = B ;  67  = C ;  68 =  D\n")
f.write("  69  = E ;  70  = F ;  71  = G ;  72  = H ;  73 =  I\n")
f.write("  74  = J ;  75  = K ;  76  = L ;  77  = M ;  78 =  N\n")
f.write("  79  = O ;  80  = P ;  81  = Q ;  82  = R ;  83 =  S\n")
f.write("  84  = T ;  85  = U ;  86  = V ;  87  = W ;  88 =  X\n")
f.write("  89  = Y ;  90  = Z ;  91  = [ ;  92  = \ ;  93 =  ]\n")
f.write("  94  = ^ ;  95  = _ ;  96  = ` ;  97  = a ;  98 =  b\n")
f.write("  99  = c ;  100  = d ;  101  = e ;  102  = f ;  103 =  g\n")
f.write("  104  = h ;  105  = i ;  106  = j ;  107  = k ;  108 =  l\n")
f.write("  109  = m ;  110  = n ;  111  = o ;  112  = p ;  113 =  q\n")
f.write("  114  = r ;  115  = s ;  116  = t ;  117  = u ;  118 =  v\n")
f.write("  119  = w ;  120  = x ;  121  = y ;  122  = z ;  123 =  {\n")
f.write("  124  = | ;  125  = } ;  126  = ~ ;\n")
f.close()
f = open('output1.txt','a')
f.write("1\n")
f.write("4\n")
f.write("9\n")
f.write("16\n")
f.write("25\n")
f.write("36\n")
f.write("49\n")
f.write("64\n")
f.write("81\n")
f.write("100\n")
f.close()
ECRIRE LES NOMBRES
         
#acompter-les-lettres.py
#liste des caractères
lettres=["A","B","C","D","E","F","G","H","I","J",
		"K","L","M","N","O","P","Q","R","S","T",
		"U","V","W","X","Y","Z","a","b","c","d",
		"e","f","g","h","i","j","k","l","m","n",
		"o","p","q","r","s","t","u","v","w","x","y","z"]
liste_fichiers2 =["fichier-donnees.txt","fichier1.txt",
        "fichier2.txt","fichier3.txt","output1.txt"]
for i in range(1,len(liste_fichiers2)):
             f=open(liste_fichiers2[i])
             k=0
             m=f.read()
             for ligne in m:
				message = ligne
				for j in range(len(message)):
					if message[j] in lettres:k=k+1
print(message,end='')
f.close()
print('----------------------------------------------------------------')
print('k =',k)
print('----------------------------------------------------------------')
print('Dans le fichier ',liste_fichiers2[i],' il y a ',k, '  lettres')
print('----------------------------------------------------------------')

educationdunumerique.fr. Tous  droits réservés. D Pérarnaud Limoges.