es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error de nombre: el nombre ‘yt’ no está definido

Escribí este código para crear un Descargador de Videos de Python:

from pytube import *
# Donde guardar
from pytube import YouTube

SAVE_PATH = "C:/Descargas"

# Enlace del video a descargar
link = input('Copia y pega tu enlace aquí: ')

try:
    yt: YouTube = YouTube(link)
except:
    print("Error de conexión")

mp4files = yt.filter('mp4')
yt.set_filename = input('¿Cómo deseas nombrarlo?: ')
d_video = yt.get(mp4files[-1].extension, mp4files[-1].resolution)
try:
    d_video.download(SAVE_PATH)
except:
    print("¡Error!")
print('¡Tarea completada!')

Después de ejecutarlo, me pide que ingrese el enlace que quiero descargar, como quiero hacerlo
y después de ingresar el enlace, me muestra este error:

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

¿Cómo lo puedo solucionar?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para solucionar el error “NameError: name ‘yt’ is not defined” (NombreError: el nombre ‘yt’ no está definido), es necesario declarar la variable ‘yt’ antes de utilizarla. En este caso, la variable ‘yt’ se declara dentro del bloque try. Por lo tanto, si ocurre una excepción y la variable ‘yt’ no está definida, se mostrará este mensaje de error.

    Para resolver este problema, puedes declarar la variable ‘yt’ antes del bloque try, de la siguiente manera:

    yt = None
    try:
        yt = YouTube(link)
    except:
        print("Error de conexión")
    
    if yt:
        mp4files = yt.filter('mp4')
        filename = input('¿Cómo quieres llamarlo? ')
        yt.set_filename(filename)
        d_video = yt.get(mp4files[-1].extension, mp4files[-1].resolution)
        try:
            d_video.download(SAVE_PATH)
        except:
            print("¡Error!")
        print('¡Tarea completada!')
    

    En este código, declaramos la variable ‘yt’ antes del bloque try y la establecemos como ‘None’. Luego, verificamos si la variable ‘yt’ no es ‘None’ antes de utilizarla. Si la variable ‘yt’ no es ‘None’, continuamos descargando el video. Esto evitará el error “NameError: name ‘yt’ is not defined” (NombreError: el nombre ‘yt’ no está definido).

Comments are closed.