NameError: name 'yt' is not defined

NameError: name 'yt' is not defined

我写了这段代码来制作一个 Python 视频下载器: 从 pytube 导入 *

# where to save
from pytube import YouTube

SAVE_PATH = "C:/Downloads"

# link of the video to be downloaded
link = input('Copy and paste your link here: ')

try:
    yt: YouTube = YouTube(link)
except:
    print("Connection Error")


mp4files = yt.filter('mp4')
yt.set_filename = input('What do u want to name it: ')
d_video = yt.get(mp4files[-1].extension, mp4files[-1].resolution)
try:
    d_video.download(SAVE_PATH)
except:
    print("Some Error!")
print('Task Completed!')

在我 运行 之后,它要求我输入 link 我想要它下载,就像我想要的那样 在我输入 link 后,它显示了这个错误:

mp4files = yt.filter('mp4')
NameError: name 'yt' is not defined

我该如何解决???

您可能会看到错误,因为可能有一些异常,也许您可​​以初始化 yt = None 然后检查它是否不是 None 然后可以做不同的事情。

我无法重现你的错误,但我得到了一个不同的错误:

Copy and paste your link here: https://www.youtube.com/watch?v=n4RjJKxsamQ
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-9-0d28f5939137> in <module>
     12
     13
---> 14 mp4files = yt.filter('mp4')
     15 yt.set_filename = input('What do u want to name it: ')
     16 d_video = yt.get(mp4files[-1].extension, mp4files[-1].resolution)

AttributeError: 'YouTube' object has no attribute 'filter'

您可以通过查看 Pytube 'YouTube' object has no attribute 'filter'

来解决 filter 问题