Manipulation de fichiers
Alain_Charles
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
trifou -
trifou -
Bonjour,
J'ai écrie un programme pour code un texte avec un décalage caractère
Le programme marche très bien, mais je veux utiliser mes deux fichiers pour les entree et sortie des donnes.
J'aimerais récupérer les deux variables 'alphabet' et 'message' d'un fichier 'entree.txt' et écrire le résultat dans un outre fichier 'sortie.txt'
J'ai déjà essayer avec la commande with ouverture et écrire mais sans succès.
entree.txt
alphabet = ['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']
message = [' Test code str //']
mon code python:
**Modifié par la modération pour une lecture plus facile du code, à l'avenir utilisez les balises, VOIR CETTE PAGE

J'ai écrie un programme pour code un texte avec un décalage caractère
Le programme marche très bien, mais je veux utiliser mes deux fichiers pour les entree et sortie des donnes.
J'aimerais récupérer les deux variables 'alphabet' et 'message' d'un fichier 'entree.txt' et écrire le résultat dans un outre fichier 'sortie.txt'
J'ai déjà essayer avec la commande with ouverture et écrire mais sans succès.
entree.txt
alphabet = ['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']
message = [' Test code str //']
mon code python:
**Modifié par la modération pour une lecture plus facile du code, à l'avenir utilisez les balises, VOIR CETTE PAGE
# Coding: utf-8 alphabeth=['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'] ##with ('entree.txt','r') as alfabeth, message: for x in range (len(alphabeth)): alphabeth.append(alphabeth[x]) message = input('Entrez votre message: ') message = message.upper() clef = int(input('Entrez votre clef: ')) def chiffrage_lettre(lettre,alphabeth,clef): for i in range(len(alphabeth)): if alphabeth[i]==lettre: return str(alphabeth[i+clef]) return lettre message_chiffre = str() for lettre in message: message_chiffre += chiffrage_lettre(lettre,alphabeth,clef) print (message_chiffre) ##with open('sortie.txt','a') as message_chiffre: ## message_chiffre.write()

Configuration: Linux / Firefox 71.0
A voir également:
- Manipulation de fichiers
- Explorateur de fichiers - Guide
- Renommer des fichiers en masse - Guide
- Fichiers epub - Guide
- Gestionnaire de fichiers - Télécharger - Gestion de fichiers
- Wetransfer gratuit fichiers lourd - Guide
1 réponse
Bonjour,
Le programme marche très bien
J'en doute fort.
Que se passe-t-il si par exemple la lettre est U et la clef 12 ?
Pour ton problème de fichiers, il faut déjà utiliser des chaines sans [ et ].
entree.txt
Puis il faut ouvrir ton fichier en lecture, et récupérer les lignes.
En visualisant les lignes affichées, tu verras qu'il faut donc séparer la ligne en 2 par le caractère =, on fait ça avec
Tu n'as pas besoin de transformer alphabet en liste, car les chaines sont aussi indexables
Le programme marche très bien
J'en doute fort.
Que se passe-t-il si par exemple la lettre est U et la clef 12 ?
Pour ton problème de fichiers, il faut déjà utiliser des chaines sans [ et ].
entree.txt
alphabet=ABCDEFGHIJKLMNOPQRSTUVWXYZ
message=texte_a_chiffrer
Puis il faut ouvrir ton fichier en lecture, et récupérer les lignes.
# Ouverture en lecture du fichier width open('entree.txt') as f: # Récupération des lignes du fichier (en supprimant les sauts de lignes de fin) lignes = f.read().splitlines() # Pour chaque ligne for ligne in lignes: print(ligne) # A compléter
En visualisant les lignes affichées, tu verras qu'il faut donc séparer la ligne en 2 par le caractère =, on fait ça avec
str.split, puis avec de simples conditions, affecter la 2nde valeur à tes variables en fonction de ce que vaut la première.
Tu n'as pas besoin de transformer alphabet en liste, car les chaines sont aussi indexables
'ABCD'[2] # C.