Im Versuch, eine Schleife, um mit regex, wenn ein bestimmtes Feld Einstimmungen zu überprüfen, zwei Dateien zu erstellen und zu vergleichen.Python - Wiederholungs Looping aus zwei Dateien mit regex
avi file
TVShowName.S01E01.W.DVDRip.XviD.avi
TVShowName.S01E02.W.DVDRip.XviD.avi
TVShowName.S01E03.W.DVDRip.XviD.avi
srt
tvShowName.S01E01.episodename.DVDRip.XviD.srt
tvShowName.S01E02.episodename.DVDRip.XviD.srt
tvShowName.S01E03.episodename.DVDRip.XviD.srt
Ohne eine Schleife kann ich die Datei anpassen und die Magie passieren lassen. Wenn ich die Schleife benutze, erreicht sie nur die erste Zeile.
TVShowName.S01E01.W.DVDRip.XviD.avi
TVShowName.S01E01.W.DVDRip.XviD.srt
Code:
f1 = open('avi', 'r')
f2 = open('srt', 'r')
f3 = open ('merge', 'a')
for avi in f1:
m = re.search(".*([Ss][0-20].[eE][0-24].)+.*", avi)
for sub in f2:
n = re.search(".*([Ss][0-20].[eE][0-24].)+.*", sub)
if m.group(1) == n.group(1):
str_avi = str(m.group(0))
#print str_avi
ext_srt = str_srt.split('.')
ext_avi = str_avi.split('.')
#print ext_avi
#conv_str = str(m.group(0))
merge = str_avi.replace(ext_avi[-1],ext_srt[-1])
print merge
f3.write(merge)
f3.close()
Können Sie einige Eingaben Ihrer Dateien hinzufügen? –
Sie definieren 'str_srt' nicht in dem bereitgestellten Code – asongtoruin
Die Ausgabe ist bereits auf dem Post Mate. Ich bin mir immer noch nicht sicher, wo ich es falsch mache –