Próbowałem to rozgryźć na zawsze teraz (jestem nowy w programowaniu) i nie mogę tego rozgryźć.Uzyskiwanie informacji o FFProbe z Pythonem
Próbuję zbudować skrypt, który przetestuje plik i da mi dane wyjściowe, z których mogę uzyskać informacje takie jak "Format audio", który mogę następnie umieścić w nazwie pliku. Jednak nie mogę nawet uzyskać skryptu do zwrócenia żadnych informacji o pliku. Uderzyłem w ścianę przy wstawianiu pliku wejściowego ...
W tym momencie potrzebuję pomocy w wypluciu informacji na podstawie argumentów, które włączyłem. Mam nadzieję, że będę w stanie wymyślić jak przetworzyć informacje audio z tego.
Moja próba, która wydaje się być blisko:
#!/usr/bin/python
import os, sys, subprocess, shlex, re
from subprocess import call
def probe_file(filename):
p = subprocess.Popen(['/opt/local/bin/ffprobe', '-show_format', '-pretty', '-loglevel quiet', -i filename], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
print filename
print p.communicate()
[probe_file (f) for f in os.listdir('.') if not f.startswith('.')]
Dostaję '... '/ opt/local/bin/ffprobe: brakujący argument dla opcji 'i foo' \ n ")' –
@RobinHood oznacza, że nie przekazujesz poprawnych parametrów do ffprobe, najpierw spróbuj zobaczyć, jak poprawnie użyć ffprobe z linii poleceń, a następnie przetłumaczyć to na python –
Polecenie '/opt/local/bin/ffprobe -pretty -i 'foo.avi'' zwraca informację; polecenie '/ opt/local/bin/ffprobe -pretty -i 'foo.avi' \ n' doesnt; ale nie mogę zrozumieć, co do cholery dodaje '\ n' –