1

ビデオをスキャンし、オーディオと字幕が利用できる言語を見つけて、それらの調査結果を入力に使用するプログラムを作成しようとしています。

現在、私はこれで出力を生成しています:

with open('output.txt', 'wt') as output_f:
    p = subprocess.Popen(command, stdout=output_f, stderr=output_f)

これが、必要なスキャンからのテキストの一部です。

  + audio tracks:
    + 1, Japanese (aac) (2.0 ch) (iso639-2: jpn)
  + subtitle tracks:
    + 1, English (iso639-2: eng) (Text)(SSA)

だから私は日本語の前にある番号を見つける必要がありますが、それは「オーディオトラック」の後に来るだけです

同様に、英語の前にある数字を見つける必要がありますが、それは「字幕トラック」の後に来るだけです

これを行うには正規表現を使用する必要があると確信していますが、どこから始めればよいかわかりません。

4

3 に答える 3

1

ここで正規表現は本当に必要ありません-とにかく、私にとってもそれらの1つを使用するには複雑すぎるようです。

ここにいくつかの定期的な解析があります:

with open('output.txt', 'wt') as output_f:
    parseTracks = False
    lines = tuple(output_f)
    for line in lines:
        if 'audio tracks' in line:
            parseTracks = True
        if parseTracks:
            if 'Japanese' in line:
                theNumber = int(''.join([char for char in line if char in '1234567890']))

字幕も同じです。

于 2013-04-24T06:58:55.290 に答える