import glob import os if __name__ == "__main__": res = glob.glob('*.MP4') code='GH' groups = {} for r in res: seq = r[2:4] prefix = r[4:8] code=r[:2] groups.setdefault(prefix, []).append(seq) wr = open('input.txt', 'w') # sort keys keys = list(groups.keys()) keys.sort() for k in keys: sequences = groups[k] sequences.sort() for seq in sequences: fn = 'file %s%s%s.MP4\n' % (code, seq, k,) wr.write(fn) wr.close() os.system( 'ffmpeg -f concat -i input.txt -c copy output.mp4') # # # os.system( # # # 'docker run -v "$(pwd)":"$(pwd)" -w "$(pwd)" jrottenberg/ffmpeg -f concat -i input.txt -c copy output.mp4') os.system('rm input.txt')