Как воспроизвести mp3-файл и удалить

Большинство интернет-пользователей сидят за NAT, поэтому он соответствует IP-адресу, который у вас есть локально. NAT изменяет локальные IP-адреса на глобальный IP-адрес маршрутизаторов. Если вы хотите изменить свой локальный IP-адрес, см. Ubuntu Wiki. Если вы хотите анонимный глобальный IP-трафик (например, WWW, электронная почта), вы должны использовать технологию анонимного использования, такую ​​как VPN, прокси или TOR.

2
задан 4 April 2017 в 23:59

3 ответа

В приведенном ниже скрипте будет воспроизводиться образец из 5-ти секунд всех mp3-файлов внутри каталога в строке, спрашивающий вас, должен ли файл быть удален или нет после каждого образца.

После продолжения сценарий выдаст отчет типа:

-------------------- remove: /home/jacob/Bureaublad/test/04 Suite Espanola Nr. 1 Op. 47 Nr. 4.mp3 keep: /home/jacob/Bureaublad/test/08 Danzas Espanolas Op. 37 Nr. 3.mp3 remove: /home/jacob/Bureaublad/test/02 Suite Espanola Nr. 1 Op. 47 Nr. 2.mp3

Сценарий

#!/usr/bin/env python3 import subprocess import os import sys import time dr = sys.argv[1] report = [] for f in [f for f in os.listdir(dr) if f.endswith(".mp3")]: file = os.path.join(dr, f) subprocess.call(["timeout", "5", "mpg123", "--quiet", file]) try: subprocess.check_output([ "zenity", "--question", "--text=Delete?", ]).decode("utf-8").strip() except subprocess.CalledProcessError: report.append("keep: "+file) else: os.remove(file) report.append("remove: "+file) print("-"*20) for l in report: print(l)

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

Не нужно говорить, но install `mpg123: sudo apt install mpg123 Скопируйте сценарий в пустой файл, сохраните его как filter_mp3.py Запустите его с целевым каталогом в качестве аргумента: python3 /path/to/filter_mp3.py /path/to/folder

Explantion

Сценарий :

перечисляет все mp3 filse в каталоге: for f in [f for f in os.listdir(dr) if f.endswith(".mp3")]: file = os.path.join(dr, f) воспроизводит их в течение 5 секунд: subprocess.call(["timeout", "5", "mpg123", file]) запускает диалог вопроса zenity: try: subprocess.check_output([ "zenity", "--question", "--text=Delete?", ]).decode("utf-8").strip() except subprocess.CalledProcessError: report.append("keep: "+file) else: os.remove(file) report.append("remove: "+file) В диалоговом окне будет поднят subprocess.CalledProcessError, если пользователь либо нажимает «Нет», либо закрывает окно (ничего не происходит), либо закрывает ошибку, если пользователь выбирает «Да». В последнем случае файл будет удален: os.remove(file)
2
ответ дан 18 July 2018 в 15:35

В приведенном ниже скрипте будет воспроизводиться образец из 5-ти секунд всех mp3-файлов внутри каталога в строке, спрашивающий вас, должен ли файл быть удален или нет после каждого образца.

После продолжения сценарий выдаст отчет типа:

-------------------- remove: /home/jacob/Bureaublad/test/04 Suite Espanola Nr. 1 Op. 47 Nr. 4.mp3 keep: /home/jacob/Bureaublad/test/08 Danzas Espanolas Op. 37 Nr. 3.mp3 remove: /home/jacob/Bureaublad/test/02 Suite Espanola Nr. 1 Op. 47 Nr. 2.mp3

Сценарий

#!/usr/bin/env python3 import subprocess import os import sys import time dr = sys.argv[1] report = [] for f in [f for f in os.listdir(dr) if f.endswith(".mp3")]: file = os.path.join(dr, f) subprocess.call(["timeout", "5", "mpg123", "--quiet", file]) try: subprocess.check_output([ "zenity", "--question", "--text=Delete?", ]).decode("utf-8").strip() except subprocess.CalledProcessError: report.append("keep: "+file) else: os.remove(file) report.append("remove: "+file) print("-"*20) for l in report: print(l)

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

Не нужно говорить, но install `mpg123: sudo apt install mpg123 Скопируйте сценарий в пустой файл, сохраните его как filter_mp3.py Запустите его с целевым каталогом в качестве аргумента: python3 /path/to/filter_mp3.py /path/to/folder

Explantion

Сценарий :

перечисляет все mp3 filse в каталоге: for f in [f for f in os.listdir(dr) if f.endswith(".mp3")]: file = os.path.join(dr, f) воспроизводит их в течение 5 секунд: subprocess.call(["timeout", "5", "mpg123", file]) запускает диалог вопроса zenity: try: subprocess.check_output([ "zenity", "--question", "--text=Delete?", ]).decode("utf-8").strip() except subprocess.CalledProcessError: report.append("keep: "+file) else: os.remove(file) report.append("remove: "+file) В диалоговом окне будет поднят subprocess.CalledProcessError, если пользователь либо нажимает «Нет», либо закрывает окно (ничего не происходит), либо закрывает ошибку, если пользователь выбирает «Да». В последнем случае файл будет удален: os.remove(file)
2
ответ дан 24 July 2018 в 20:40
  • 1
    Вместо запуска и убийства mpg123 вы можете использовать команду timeout (или использовать более универсальный ffplay, но поскольку OP запросил mpg123 ...) – muru 4 April 2017 в 09:51
  • 2
    @muru ах, отлично, спасибо! Будет ли редактировать, если я вернусь домой. – Jacob Vlijm 4 April 2017 в 09:54
  • 3
    Спасибо за помощь !!! Это сработало ... Я только что сделал несколько изменений, чтобы использовать только клавиатуру. – Leandro Franco 4 April 2017 в 23:25
  • 4
    Привет @LeandroFranco Отлично! , если ответ решил вашу проблему, как вы указали, считаете ли вы, что принимаете ответ (отметьте большой «V» под стрелками вверх / вниз слева). Это подходящий способ указать, что ответ сработал для вас. – Jacob Vlijm 4 April 2017 в 23:31

В приведенном ниже скрипте будет воспроизводиться образец из 5-ти секунд всех mp3-файлов внутри каталога в строке, спрашивающий вас, должен ли файл быть удален или нет после каждого образца.

После продолжения сценарий выдаст отчет типа:

-------------------- remove: /home/jacob/Bureaublad/test/04 Suite Espanola Nr. 1 Op. 47 Nr. 4.mp3 keep: /home/jacob/Bureaublad/test/08 Danzas Espanolas Op. 37 Nr. 3.mp3 remove: /home/jacob/Bureaublad/test/02 Suite Espanola Nr. 1 Op. 47 Nr. 2.mp3

Сценарий

#!/usr/bin/env python3 import subprocess import os import sys import time dr = sys.argv[1] report = [] for f in [f for f in os.listdir(dr) if f.endswith(".mp3")]: file = os.path.join(dr, f) subprocess.call(["timeout", "5", "mpg123", "--quiet", file]) try: subprocess.check_output([ "zenity", "--question", "--text=Delete?", ]).decode("utf-8").strip() except subprocess.CalledProcessError: report.append("keep: "+file) else: os.remove(file) report.append("remove: "+file) print("-"*20) for l in report: print(l)

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

Не нужно говорить, но install `mpg123: sudo apt install mpg123 Скопируйте сценарий в пустой файл, сохраните его как filter_mp3.py Запустите его с целевым каталогом в качестве аргумента: python3 /path/to/filter_mp3.py /path/to/folder

Explantion

Сценарий :

перечисляет все mp3 filse в каталоге: for f in [f for f in os.listdir(dr) if f.endswith(".mp3")]: file = os.path.join(dr, f) воспроизводит их в течение 5 секунд: subprocess.call(["timeout", "5", "mpg123", file]) запускает диалог вопроса zenity: try: subprocess.check_output([ "zenity", "--question", "--text=Delete?", ]).decode("utf-8").strip() except subprocess.CalledProcessError: report.append("keep: "+file) else: os.remove(file) report.append("remove: "+file) В диалоговом окне будет поднят subprocess.CalledProcessError, если пользователь либо нажимает «Нет», либо закрывает окно (ничего не происходит), либо закрывает ошибку, если пользователь выбирает «Да». В последнем случае файл будет удален: os.remove(file)
2
ответ дан 31 July 2018 в 23:41
  • 1
    Вместо запуска и убийства mpg123 вы можете использовать команду timeout (или использовать более универсальный ffplay, но поскольку OP запросил mpg123 ...) – muru 4 April 2017 в 09:51
  • 2
    @muru ах, отлично, спасибо! Будет ли редактировать, если я вернусь домой. – Jacob Vlijm 4 April 2017 в 09:54
  • 3
    Спасибо за помощь !!! Это сработало ... Я только что сделал несколько изменений, чтобы использовать только клавиатуру. – Leandro Franco 4 April 2017 в 23:25
  • 4
    Привет @LeandroFranco Отлично! , если ответ решил вашу проблему, как вы указали, считаете ли вы, что принимаете ответ (отметьте большой «V» под стрелками вверх / вниз слева). Это подходящий способ указать, что ответ сработал для вас. – Jacob Vlijm 4 April 2017 в 23:31

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

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