2つのファイルをチェックし、特定のフィールドが一致するとregexと比較するためにループを作成しようとしています。Python - 正規表現を使って2つのファイルのループをループする
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
ループがなければ、ファイルにマッチして魔法を起こすことができます。ループを使用すると、最初の行にしか到達しません。
TVShowName.S01E01.W.DVDRip.XviD.avi
TVShowName.S01E01.W.DVDRip.XviD.srt
コード:
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()
ファイルの入力を追加できますか? –
提供されているコードに 'str_srt'を定義していません – asongtoruin
出力はすでにポストメイトにあります。私はまだそれが間違って取得するか分からない –