2019年10月29日火曜日

[Python]ある条件下のファイル名を抽出する。

問題

以下に示すファイル名の一部を抽出する関数を記述せよ。

  • 長い数字で表される日付で始まると仮定します。
  • アンダースコアが続きます。
  • その後、拡張子を持つファイル名があります。
  • 最後に常に追加の拡張子が付けられます。

Inputs:

1231231223123131_FILE_NAME.EXTENSION.OTHEREXTENSION

1_This_is_an_otherExample.mpg.OTHEREXTENSIONadasdassdassds34

1231231223123131_myFile.tar.gz2

Outputs:

FILE_NAME.EXTENSION

This_is_an_otherExample.mpg

myFile.tar

解答

class FileNameExtractor:
    @staticmethod
    def extract_file_name(fname):
        return fname.split('_', 1)[1].rsplit('.', 1)[0]