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.

Estoy obteniendo un error de permiso al intentar abrir una carpeta con io.open.

Estoy intentando ejecutar este fragmento de código pero obtengo un error de permisos. ¿Qué solución sugieres? ¿Puedo reemplazar io.open por algo más:

"""Detectar etiquetas dado el camino de un archivo."""
video_client = videointelligence.VideoIntelligenceServiceClient()
features = [videointelligence.Feature.LABEL_DETECTION]

cwd = "E:/.../Google_Video_API/videos/"
with io.open(cwd, "rb") as movie:
    input_content = movie.read()

operation = video_client.annotate_video(
    request={"features": features, "input_content": input_content}
)
print("\nProcesando el video para anotaciones de etiquetas:")

Este es el error que obtengo: PermissionError: [Errno 13] Permiso denegado: 'E:/.../Google_Video_API/videos/'

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El error de permisos se debe a que el programa está intentando abrir un archivo en un directorio donde no tiene permisos de lectura. Una solución es modificar los permisos del directorio y conceder acceso de lectura al programa. Otra solución es trasladar el archivo a un directorio donde el programa tenga permisos de lectura.

    En cuanto a reemplazar io.open, puedes intentar usar la función open en su lugar. La función open también se puede utilizar para leer archivos binarios en Python.

    Aquí tienes una versión modificada del código usando la función open:

    """Detectar etiquetas dado un camino de archivo."""
    video_client = videointelligence.VideoIntelligenceServiceClient()
    features = [videointelligence.Feature.LABEL_DETECTION]
    
    video_file = "E:/.../Google_Video_API/videos/my_video.mp4"
    
    with open(video_file, "rb") as file:
        input_content = file.read()
    
    operation = video_client.annotate_video(
        request={"features": features, "input_content": input_content}
    )
    print("\nProcesando video para anotaciones de etiquetas:")
    

    Reemplaza video_file con la ubicación real de tu archivo de video.

Comments are closed.