Как отключить вывод в Python при назначении функции? - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь использовать youtube_dl внутри python скрипта. Но я хочу предотвратить печать нижеприведенного.

[youtube] YQHsXMglC9A: Downloading webpage

В различных вопросах я видел использование stdout, и вот мой код с ним.

import io,sys
print("get")
tempp=io.StringIO()
sys.stdout=tempp
ydl = youtube_dl.YoutubeDL({'outtmpl': '%(id)s%(ext)s'})
with ydl:
    result = ydl.extract_info(url,download=False)
if 'entries' in result:
    video = result['entries'][0]
else:
    video = result
sys.stdout=sys.__stdout__
title=video['title']
result=[]
video_url = video['formats']
for i in video_url:
    if i['ext']=='mp4':
        formatted=i['format'][(i['format']).index('(')+1:(i['format']).index(')')]
        result.append({'format':formatted,'url':i['url']})
for i in range(0,len(result)):
    print(i+1,'>',result[i]['format'])

Но его использование не дает разрешить присваивание переменной «видео». Так как же отключить вывод функции назначения?

...