У меня есть скрипт python, который работает на трех файлах следующим образом: align.py * .wav * .txt * .TextGrid Однако у меня есть каталог, полный файлов, которые я хочу Переберите. Исходный автор предлагает создать сценарий оболочки для прокрутки файлов. Сложная часть цикла состоит в том, что мне нужно сопоставить три файла одновременно с тремя разными расширениями для правильного запуска скрипта. Может ли кто-нибудь помочь мне разобраться, как создать сценарий оболочки для прокрутки каталога файлов, сопоставить три из них в соответствии с именем (с тремя разными расширениями) и запустить скрипт python для каждого триплета? Спасибо!Сценарий оболочки UNIX для вызова python
0
A
ответ
0
Вы можете использовать glob.glob перечислить только wav
файлы, а затем построить subprocess.Popen
вызов следующим образом:
import glob
import os
import subprocess
for wav_name in glob.glob('*.wav'):
basename,ext = os.path.splitext(wav_name)
txt_name=basename+'.txt'
grid_name=basename+'.TextGrid'
proc=subprocess.Popen(['align.py',wav_name,txt_name,grid_name])
proc.communicate()
3
Предполагая, что вы используете Баш, вот один вкладыш:
for f in *.wav; do align.py $f ${f%\.*}.txt ${f%\.*}.TextGrid; done
+0
Это отлично работает! – Alex
Смежные вопросы
- 1. Сценарий вызова Powershell из скрипта оболочки Unix
- 2. Сценарий оболочки UNIX
- 3. C вызов вызова оболочки сценарий
- 4. Регулярное выражение Сценарий оболочки Unix
- 5. Ожидайте сценарий оболочки вызова
- 6. Как зашифровать сценарий оболочки Unix
- 7. Невозможно запустить сценарий оболочки Unix
- 8. Сценарий оболочки Unix while loop
- 9. Сценарий оболочки Unix для копирования каталогов
- 10. Сценарий оболочки Unix для увеличения расширения
- 11. Получение контроля обратно в сценарий оболочки UNIX
- 12. Как выполнить сценарий оболочки Unix из Windows
- 13. Понимать значение Unix сценария оболочки вызова
- 14. Строка замены с использованием UNIX сценарий оболочки
- 15. Чтение в каталог, сценарий оболочки unix
- 16. Как запланировать сценарий оболочки Unix без CronJob
- 17. Сценарий оболочки Unix запускает параллельные SQL-скрипты
- 18. Как заменить строку в сценарий оболочки UNIX
- 19. Создайте сценарий оболочки Unix с 4 параметрами
- 20. Разбиение файла Unix в сценарий оболочки
- 21. Unix, как поставить crontab в сценарий оболочки
- 22. питон подпроцесс общаться зависания вызова сценарий оболочки
- 23. избежать фигурные скобки в UNIX сценарий оболочки
- 24. Сценарий оболочки Unix: выход с возвращаемым значением
- 25. Mysql заявление вставки через сценарий оболочки Unix
- 26. Unix сценарий оболочки - цель толстой кишки
- 27. Предыдущая дата день в UNIX сценарий оболочки
- 28. как подключиться к DB2 Unix сценарий оболочки
- 29. Сценарий оболочки Unix с командой Iseries
- 30. Как задать расширенную значения_переменную Unix сценарий оболочки
Если для каждого файла TextGrid будет файл wave и txt, я просто изменил бы скрипт python, чтобы вывести имена этих двух и передать только список * .TextGrid. Возможно ли изменить скрипт python? – DSimon
Пожалуйста, добавьте несколько файлов примеров и как вы хотите, чтобы их обрабатывали. Ваш вопрос недостаточно описывает то, что вы ищете. – chmullig
Вам вообще не нужны сценарии оболочки; Python может просматривать сами каталоги. – poke