[Python-es] [Presentación] y [Consulta]
Lemarchand Barker
lemarchand8679 en gmail.com
Vie Jun 19 11:51:23 EDT 2020
Hola Angel Lis, estoy leyendo sobre *pathlib* y teniendo en cuenta lo que
decís, me conviene usar éste por el hecho de que me olvido y dejo de lado
el tema sobre el funcionamiento y rendimiento a nivel sistema, y utilizo
solo lo que necesito.
Respecto a with, lo había visto entre todas las búsquedas que hice y
algunos lo ponían de ejemplo, pero la verdad no le di una chance. Lo voy a
implementar a ver que tal me va.
Muchas gracias
El vie., 19 jun. 2020 a las 5:44, Angel Lis (<anlismon en gmail.com>) escribió:
> Hola Veronica y bienvenida,
> sobre tu cuestión, fchdir vs chdir se diferencian en que chdir cambia en
> directorio de trabajo al que tu le pases con un string,
> en cambio fchdir le pasas un descriptor de fichero, o sea que tienes que
> hacer un open del directorio y luego gestionar tu el close del descrito.
>
> A nivel de performance con esas funciones no te preocupes, no creo que sea
> algo que ejecutes constantemente.
>
> De todas maneras, si lo que quieres para trabajar con paths es
> recomendable intentar usar la pathlib (
> https://docs.python.org/3.8/library/pathlib.html ) que viene por defecto
> en python3, ya que te abstrae del sistema de ficheros (vamos que funciona
> igual en windows, linux, etc).
>
> Échale un ojo si te apetece.
>
> sobre tu función, te estás dejando un descriptor de fichero abierto, y eso
> generará errores. Si es posible intenta acostumbrarte a usar el idiomatic
> with para trabajar con descriptores, si puedes, claro.
>
> Para tu función podría quedar así:
>
> def cambio_ruta(self, cambio, cambiado):
> cambio = input("\nIngrese ruta a la que quiere cambiar: ")
> with os.open(cambio, os.O_RDONLY) as cambiado:
> os.fchdir(fd=cambiado)
> contador = 0
> for elemento in os.scandir(cambio):
> contador = contador + 1
> print(elemento)
> print(f"\nTotal de elementos: {contador}")
> # al salir del scope de with, "ejecuta" cambiado.close() automagicamente.
> return "\nDirectorio actual de trabajo: {}".format(os.getcwd())
>
>
>
> usando el with, cuando sale del scope, ejecuta el close() de "cambiado"
>
>
> Espero haberte ayudado,
>
> un saludo!
> Angel Lis ^ aka Liso
>
>
> El jue., 18 jun. 2020 a las 9:46, Lemarchand Barker (<
> lemarchand8679 en gmail.com>) escribió:
>
>> Hola, me llamo Verónica y después de muchos años estoy retomando
>> nuevamente python. Estoy en Python 3.8.
>> Actualmente estoy usando Ubuntu 20.04 - Gnome, ide PyCharm 2020.1.2.
>> Como bien mencioné, estoy retomando y cuando abandoné el lenguaje,
>> tampoco es que estaba muy avanzada pero la diferencia es que ahora estoy
>> más decidida. Quiero aprender porque es un lenguaje que para mi es fácil y
>> lo puedo entender.
>> Mi consulta es respecto a lo siguiente. Si bien hay muchos reproductores
>> multimedia para elegir yo quiero hacer uno similar al moc (reproductor de
>> mp3 para consola) pero de video.
>> Lo que necesito prácticamente y para ser puntual es algo que me permita
>> ejecutar el video en cuestión.
>> Hasta ahora lo que tengo hecho es; todo por consola:
>> 1- Que la aplicación te muestre la ruta actual en la que estás:
>> *os.getcwd()*
>> 2- Que te permita ingresar la ruta a la cual querés ir:
>>
>> def cambio_ruta(self, cambio, cambiado):
>> cambio = input("\nIngrese ruta a la que quiere cambiar: ")
>> cambiado = os.open(cambio, os.O_RDONLY)
>> os.fchdir(fd=cambiado)
>> contador = 0
>> for elemento in os.scandir(cambio):
>> contador = contador + 1
>> print(elemento)
>> print(f"\nTotal de elementos: {contador}")
>> return "\nDirectorio actual de trabajo: {}".format(os.getcwd())
>>
>> Buscando como hacer para cambiar de ruta me encontré con el planteo de
>> mucha gente que quería saber cuál era la diferencia entre *chdir()* y
>> *fchdir()*. Si bien no me quedó muy en claro la diferencia la mayoría
>> coincidía en que fchdir es el que tiene mejor rendimiento. Lo mismo me pasó
>> con la opción *scandir()*, que de todas las opciones era la que mejor
>> funcionaba también respecto a rendimiento.
>> Todo este código es para ver si funcionaba, y logro cambiarme cuando
>> ingreso la ruta, e incluso puedo ver el contenido de la misma pero mi
>> problema viene cuando quiero ejecutar el archivo de video (mp4).
>> Todo lo que encontraba era con entorno gráfico como qt, tkinter, cv y no
>> es eso lo que necesito.
>> Encontré algo similar pero que reproduce mp3 que es lo que voy a probar
>> más tarde y lo encontré acá:
>> Probando pydub para convertir y reproducir audio
>> <https://www.elarraydejota.com/probando-pydub-para-convertir-y-reproducir-audio/>
>> Eso es todo, y pido disculpas por mi código, seguramente se lo puede
>> pulir más para que quede mucho mejor, y esa es la idea más adelante.
>> Muchas gracias y espero me puedan ayudar.
>> Saludos desde Argentina
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> https://mail.python.org/mailman/listinfo/python-es
>>
>
>
> --
> --
> Àngel Lis.
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20200619/a90c3959/attachment.html>
Más información sobre la lista de distribución Python-es