Wie kann ich in Python zwei Dateien Textdateien in ein dict überführen und passend ordnen?

2 Antworten

Die zweite Datei solltest du zeilenweise auslesen. Jede Zeile muss anhand der Trennsequenz aufgespalten werden. In deinem Fall wäre das wohl " : ".

pair = line.split(" : ")

Das Ergebnis ist eine Liste. Der erste Eintrag muss als Key in ein dict gespeichert werden, der zweite Eintrag als der dazu assoziative Wert.

Danach kannst du Zeichen für Zeichen durch den zu transferierenden Text gehen und anhand des Dictionary die passende Übersetzung herausfinden.

encoded_letter = your_dict[current_letter]

all_values = list(your_dict.values())
all_keys = list(your_dict.keys())
key_index = all_values.index(current_letter)
decoded_letter = all_keys[key_index]
LucyCouper54 
Fragesteller
 05.01.2022, 21:54

Ich verstehe den Code noch nicht ganz. Bis jetzt habe ich folgendes:

file_encode = open("encoding.txt","r")

file = open("text.txt","r")

lines =file.readlines()

for line in lines:

und jetzt hätte ich ein dict gemacht und wäre in den 0.ten Index gegangen.

0
regex9  06.01.2022, 00:18
@LucyCouper54

Was für einen nullten Index?

Du schreibst, dass die Datei für die Übersetzungen so aufgebaut ist:

a : r
b : g
c : t

Also hast du in jeder Zeile einen Schlüssel (a, b, c) und einen Wert (r, g, t), die voneinander durch eine Trennsequenz getrennt sind. Da dich nur Schlüssel und Wert für dein Dictionary interessieren, muss jede Zeile geparst werden. Die Trennsequenz wird gefiltert und Schlüssel und Wert herausgebrochen. Dafür kann man die split-Funktion nutzen. Es gibt natürlich auch noch andere Wege.

Bau dir zuerst das Dictionary zusammen. Den Text aus der anderen Datei kannst du danach auslesen und übersetzen. Ein Schritt nach dem anderen.

0
LucyCouper54 
Fragesteller
 15.01.2022, 12:25
@regex9

Dankeschön, allerdings habe ich immer noch nicht verstanden aus wie das dict zusammengestellt werden muss.

0
#Dateien Einlesen
zu_verschlüsseln = open(Datei)
schlüssel = open(Datei)
#schlüssel erstellen
Schlüssel_dict = {}
for Wert in schlüssel :
  Schlüssel_dict.update(dict([Wert.split(' : ')]))
schlüssel.close()
#verschlüsseln
string = ''
for Wert in zu_verschlüsseln.read()
  if Wert in Schlüssel_dict :
    string += Schlüssel_dict[Wert]# Wert ersetzt
  else :
    string += Wert# Wert nicht nicht in der Datei vorhanden, bleibt
zu_verschlüsseln.close()