0

ファイルの選択した行から文字列をコンパイルし、その文字列に対していくつかの操作を実行してから、その文字列を元の行に分割して同じファイルに戻すにはどうすればよいですか?

ファイルの特定の行だけが必要です。ファイルの他の部分に対して操作を行うことができません。これらの行をファイルから分離し、これらの行に対して操作を実行するクラスを作成しましたが、これらの操作で使用できるファイルの一部を含む単一の文字列に対してこれらの操作を実行すると、さらに高速になると思います。 ..。。

または、これらの操作を辞書全体で実行できる場合は、それも役立ちます。操作は、文字列の置換と正規表現の置換です。

私はPython3.3を使用しています


編集:私の元の投稿は非常に曖昧だったので、ここでこれをより詳細に説明します(それを指摘してくれたPaoloに感謝します)。

たとえば、一般的な字幕ファイルであるSubRipper(.srt-file)を修正したい場合は、次のようなものを入力として受け取ります(これは実際のsrt-fileからのものです)。

ここで正しい例を見つけることができます。ここにファイルの内容を送信すると、改行が混乱します:http: //pastebin.com/ZdWUpNZ2

...そして、実際の字幕行がある行のみを修正し、番号行の順序や字幕ファイルの行の非表示/表示は修正しません。したがって、コンパイルされた文字列は次のようになります。

「彼らはその尾根に立っています。|彼らは私たちを固定しました。」

次に、その文字列に対して操作を実行します。次に、それらの行をファイルに保存し直す必要があります。それらが修正された後、どうすればそれらの字幕行を元のファイルに戻すことができますか?「|」を使用して、コンパイルおよび修正された文字列を分割できます。行の区切り文字として使用し、元のファイルに戻しますが、どの行がどこにあるかをどのように確認できますか?

4

1 に答える 1

3

pysrtSubRipファイルの編集に使用できます。

from pysrt import SubRipFile

subs = SubRipFile.open('some/file.srt')

for sub in subs:
    # do something with sub.text
    pass

# save changes to a new file
subs.save('other/path.srt', encoding='utf-8')
于 2012-10-28T16:47:32.797 に答える