Un petit script python qui balait un fichier ...
wire less
Messages postés
247
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour.
Je débute en python et j'ai besoin de faire un script personnel.
Je vais d'abord écrire le pseudo code avant d'essayer de le traduire en Python.
j'ai un dictionnaire d’éléments :
dictionnaire = {}
dictionnaire["Element_key_1"] = "Definition_1"
dictionnaire["Element_key_2"] = "Definition_2"
dictionnaire["Element_key_3"] = "Definition_3"
dictionnaire["Element_key_4"] = "Definition_4"
j'ai un fichier :
--- Debut fichier.txt ---
bla bla bla
Element_key_1 ble ble ble
bli bli bli
blo blo Element_key_2 blo
blu blu blu
--- Fin fichier.txt ---
voila, j'ai juste besoin de lire mon fichier, et si je trouve à une certaine ligne un élément de mon dictionnaire, je remplace la ligne toute entière par ma définition.
--- Debut fichier.txt ---
bla bla bla
Definition_1
bli bli bli
Definition_2
blu blu blu
--- Fin fichier.txt ---
-------------------------------------
Mon code maintenant :
--- Debut script.py ---
--- Fin script.py ---
Est-ce que ça vous parait correct comme script ?
Merci à tous
Je débute en python et j'ai besoin de faire un script personnel.
Je vais d'abord écrire le pseudo code avant d'essayer de le traduire en Python.
j'ai un dictionnaire d’éléments :
dictionnaire = {}
dictionnaire["Element_key_1"] = "Definition_1"
dictionnaire["Element_key_2"] = "Definition_2"
dictionnaire["Element_key_3"] = "Definition_3"
dictionnaire["Element_key_4"] = "Definition_4"
j'ai un fichier :
--- Debut fichier.txt ---
bla bla bla
Element_key_1 ble ble ble
bli bli bli
blo blo Element_key_2 blo
blu blu blu
--- Fin fichier.txt ---
voila, j'ai juste besoin de lire mon fichier, et si je trouve à une certaine ligne un élément de mon dictionnaire, je remplace la ligne toute entière par ma définition.
--- Debut fichier.txt ---
bla bla bla
Definition_1
bli bli bli
Definition_2
blu blu blu
--- Fin fichier.txt ---
-------------------------------------
Mon code maintenant :
--- Debut script.py ---
# -*- coding: utf-8 -*-
# script.py
# "Utilisation : script.py fichier.txt"
import os
import sys
dictionnaire = {}
dictionnaire["Element_key_1"] = "Definition_1"
dictionnaire["Element_key_2"] = "Definition_2"
dictionnaire["Element_key_3"] = "Definition_3"
dictionnaire["Element_key_4"] = "Definition_4"
if __name__ == '__main__':
args = sys.argv[1:]
if len(args)<1 :
print "Utilisation erronée"
print "Utilisation : script.py fichier.txt"
sys.exit()
print "***************** Fin ******************"
fullFileName = os.path.join(os.path.basename(args[0]), args[0])
file = open(fullFileName)
line = file.readline()
while line:
for k in dictionnaire.keys
if k in line
line = dictionnaire(k) + '\n'
--- Fin script.py ---
Est-ce que ça vous parait correct comme script ?
Merci à tous
1 réponse
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, où est le pseudo code?-
... oui, en faite je ne sais peut être pas faire de pseudo code. Je vais tenter de décrire mon algorithme en esperant que ce soit réalisable.
OUVRIR fichier.txt en lecture et écriture Boucler sur les lignes de fichier.txt Boucler sur les clefs de mon dictionnaire Si ligne de fichier.txt contient clef de dictionnaire, alors Remplacer (écrire) la ligne du fichier par la définition du dictionnaire à l'indice clef. FERMER fichier.txt
Je siuis en train de suivre le tutoriel python :
https://docs.python.org/fr/2.7/tutorial/inputoutput.html#methods-of-file-objects
Et je me rend compte qu'il n'est probablement pas possible de lire et d'écrire dans un fichier aussi facilement.
? Est-ce qu'il faut d'abord stoker tout le contenu du fichier tel qu'on souhaite l'avoir dans une variable et ensuite ré-écrire complétement le fichier ??
Merci
-