VMware Player ver. 6 & amp; 7 не работает 16.04

Как я уже упоминал в своем комментарии, команда mediainfo действительно, очень медленная. Я думаю, что есть лучшие альтернативы.

Сказав это, вот моя версия скрипта python, которая должна выполнить задание (python3):

#!/usr/bin/env python3

import os
import subprocess

directory = "/path/to/files"

# list the files in the directory
files_tosort = os.listdir(directory)

filedata = []
for file in files_tosort:
    # combine filepath and file, take care of the whitespaces
    filepath = directory+"/"+file; command = "mediainfo "+"'"+filepath+"'"
    # get the file's data
    data = subprocess.check_output(["/bin/bash", "-c", command]).decode("utf-8")
    # extract the bitrate from the output
    bitrate = [line[line.find(":")+2:].replace("Kbps", "").replace(" ", "") \
               for line in data.splitlines() if "Bit rate" in line][0]
    # add the found bitrate+filename to he list
    filedata.append((int(bitrate), file))

# sort the list by the bitrate
filedata.sort(key=lambda item: item[0])
# print out
for item in filedata:
    print("bitrate: "+str(item[0])+" Kbps\t file: "+item[1])

Создает вывод, похожий на: [!d2 ]

bitrate: 606 Kbps    file: film1.avi
bitrate: 731 Kbps    file: film10.avi
bitrate: 790 Kbps    file: film4.avi
bitrate: 802 Kbps    file: film3.avi
bitrate: 845 Kbps    file: film6.avi
bitrate: 919 Kbps    file: film7.avi
bitrate: 984 Kbps    file: film5.avi
bitrate: 1023 Kbps   file: film2.avi
bitrate: 1088 Kbps   file: film8.avi

Примечание:

, если существует риск нечитаемых файлов, в сценарий должен быть встроен «try / except».

] Как использовать:

Как и любой скрипт, скопируйте сценарий в пустой файл, установите путь к файлам в начале скрипта, сохраните его как sort_video.py и запустите его командой :

python3 /path/to/sort_video.py
0
задан 12 May 2017 в 14:40

0 ответов

Другие вопросы по тегам:

Похожие вопросы: