Foros del Web » Programando para Internet » Python »

Ayuda con un bacth en python

Estas en el tema de Ayuda con un bacth en python en el foro de Python en Foros del Web. Hola amigos espero que me puedan ayudar yo no estoy inmerso en la programacion en python pero estoy usando un software de edicion de video ...
  #1 (permalink)  
Antiguo 05/07/2008, 22:59
 
Fecha de Ingreso: noviembre-2004
Mensajes: 116
Antigüedad: 20 años
Puntos: 3
Ayuda con un bacth en python

Hola amigos espero que me puedan ayudar yo no estoy inmerso en la programacion en python pero estoy usando un software de edicion de video que creo usa algo de python a la hora automatizar su trabajo con varios archivos.

Es un software que tiene un menu llamado batch que permite automatizar su trabajo, este batch esta contenido en un archivo .py que contiene el sgte texto

Código:
# This example shows how to automatically generate multiple scripts given a 
# directory with several source files.  Note that this example doesn't even
# directly interact with the AvsP program itself, it's almost entirely using
# pure Python for batch processing, with conviniece gui functions provided by
# the avsp module.

import os

# Get the directory containing source files
dirname = avsp.GetDirectory(title='Selecciona carpeta con tus videos')

if dirname:
    # Generate each of the avisynth scripts
    for filename in os.listdir(dirname):
        fullname = os.path.join(dirname, filename)
        if os.path.isfile(fullname):
            # Get the extension-based template string
            srctxt = avsp.GetSourceString(fullname)
            # Create the script string
            # Write the script text to a file
            f = open(fullname + '.avs', 'w')
            f.write(srctxt)
            f.close()
Lo que hace este batch es llamar a una carpeta y crea scripts avisynth(extension .avs) de todos los archivos que contiene la carpeta en cuestion y antes de agregarle su extension .avs tambien le agrega la extension de cada uno de los archivos es decir si la carpeta a la que llamo contiene los sgts archivos:

unvideo.avi
unacancion.mp3
undocumento.doc

luego de aplicar el batch se crean los sgts archivos .avs:

unvideo.avi.avs
unacancion.mp3.avs
undocumento.doc.avs

Y lo que yo deseo es que el batch afecte solamente a los .avi y que tambien le quite el .avi es decir que me bote solamente lo sgte:

unvideo.avs

Espero puedan ayudarme para poder mejorar el uso de este software
Un saludo a toda la comunidad
  #2 (permalink)  
Antiguo 07/07/2008, 07:04
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
De acuerdo Respuesta: Ayuda con un bacth en python

Puedes intentar reemplazando esto:
Código:
        if os.path.isfile(fullname):
            # Get the extension-based template string
            srctxt = avsp.GetSourceString(fullname)
            # Create the script string
            # Write the script text to a file
            f = open(fullname + '.avs', 'w')
            f.write(srctxt)
            f.close()
Por esto:
Código:
        if os.path.isfile(fullname) and fullname[-4:].lower=='.avi':
            # Get the extension-based template string
            srctxt = avsp.GetSourceString(fullname)
            # Create the script string
            # Write the script text to a file
            fullname = fullname[:-4]
            f = open(fullname + '.avs', 'w')
            f.write(srctxt)
            f.close()
Me avisas si te funciona. Saludos
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 07/07/2008, 09:46
 
Fecha de Ingreso: noviembre-2004
Mensajes: 116
Antigüedad: 20 años
Puntos: 3
Respuesta: Ayuda con un bacth en python

Hola David el Grande hize el reemplazo pero no me funciona: me pide que llame a la carpeta pero no genera ningun archivo .avs

Un saludo
  #4 (permalink)  
Antiguo 07/07/2008, 09:52
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Exclamación Respuesta: Ayuda con un bacth en python

Lo siento es que escribí mal el código. Debe ser:
Código:
        if os.path.isfile(fullname) and fullname[-4:].lower()=='.avi':
            # Get the extension-based template string
            srctxt = avsp.GetSourceString(fullname)
            # Create the script string
            # Write the script text to a file
            fullname = fullname[:-4]
            f = open(fullname + '.avs', 'w')
            f.write(srctxt)
            f.close()
Siempre se me olvidan los paréntesis...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 07/07/2008, 10:48
 
Fecha de Ingreso: noviembre-2004
Mensajes: 116
Antigüedad: 20 años
Puntos: 3
Respuesta: Ayuda con un bacth en python

Gracias David el Grande ahora si funciono
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:58.