【发布时间】:2021-07-09 02:08:25
【问题描述】:
大家好,我是 python 新手,我正在尝试制作 YouTube 视频下载器,代码正在运行,但视频下载完成后未显示完成消息,我不知道为什么
代码:
from pytube import YouTube
link = input("VIDEO URL: ")
video = YouTube(link)
def done():
print("Download Complete")
High_Quality_720p = video.streams.get_highest_resolution().download(output_path="/Users/tahaw/OneDrive/Desktop/download_path")
def highQ_vid_comp():
print(video.register_on_complete_callback("Download Complete 720p"))
Low_Quality_360p = video.streams.get_lowest_resolution().download(output_path="/Users/tahaw/OneDrive/Desktop/download_path")
def lowQ_vid_comp():
print(video.register_on_complete_callback("Download Complete 360p"))
for video in video.streams.filter(progressive=True):
print(video)
res=input("Resolution(720p/360p): ")
if res == ("720p"):
print(High_Quality_720p)
highQ_vid_comp()
elif res == ("360p"):
print(Low_Quality_360p)
lowQ_vid_comp()
【问题讨论】:
-
你在
done()中定义了print("Download Complete")但你从不执行done()所以它不会显示它。 -
您确定它应该是
register_on_complete_callback(..)中的文本吗?也许它应该是函数的名称,如register_on_complete_callback(done),以便在完成时执行done()。 -
这段代码真的有效吗?它给了我错误
'Stream' object has no attribute 'register_on_complete_callback'。对我来说,这似乎是一团糟。