Я пишу программу, которая загружает видео с YouTube, используя youtube-dl
.Как я могу выполнить вывод процесса Python в Python?
Я имел обыкновение называть YouTube-DL с subprocess
:
import subprocess
p = subprocess.Popen([command], \
stdout=subprocess.PIPE, \
stderr=subprocess.STDOUT, \
universal_newlines = True)
Затем я прочитал бы результат процесса по телефону:
for line in iter(p.stdout.readline, ""):
hide_some_stuff_using_regex()
show_some_stuff_using_regex()
Однако я предпочитаю использовать youtube-dl
как класс Python , Так что я сейчас делаю это:
from youtube_dl import YoutubeDL as youtube_dl
options = {"restrictfilenames": True, \
"progress_with_newline": True}
ydl = youtube_dl(options)
ydl.download([url])
код работает, но я с трудом выяснить, как вывести трубы youtube-dl
«ы. Обратите внимание, что я хочу использовать части вывода youtube-dl для печати в режиме реального времени, поэтому перенаправление sys.stdout
на пользовательский выходной поток не будет работать, так как мне все еще нужно sys.stdout для печати.
Вы можете мне помочь?
Что такое 'youtube_dl'? –
Хороший улов, обновленный. –