2010-11-16 6 views
6

Ejecutando Python 2.5 en Windows XP SP2.Excepción de Python: "TypeError: main() obtuvo un argumento de palabra clave inesperado 'debug'" pero IFF el módulo se ejecuta mediante scheduledTask en Windows XP SP2

Cuando ejecuto un script en Python que llama a un módulo definido por el usuario llamado Zipper.py (básicamente un envoltorio para un archivo zip) usando un scheduledTask de Windows me sale esta excepción:

Traceback (most recent call last):
File "C:\PythonScripts\ZipAndSendEOD-Reports.py", line 78, in main
Zipper.main([report],f, debug=True) #[:-4] + "_" + str(x) + ".zip")
TypeError: main() got an unexpected keyword argument 'debug'

Lo curioso es que si simplemente abra el archivo en IDLE y presione 'F5', se ejecuta sin problemas.

Estoy seguro de haber omitido alguna información pertinente, por favor déjenme saber lo que necesita.

Zipper.py se parece a esto:

import zipfile 

def main(archive_list=[],zfilename='default.zip', debug=False): 
    if debug: print 'file to zip', zfilename 
    zout = zipfile.ZipFile(zfilename, "w", zipfile.ZIP_DEFLATED) 
    for fname in archive_list: 
     if debug: print "writing: ", fname 
     zout.write(fname) 
    zout.close() 

if __name__ == '__main__': 
    main() 

EDIT: Me añaden los siguientes dos líneas de código para la función de llamada, y ahora funciona.

f = open(logFile, 'a') 
f.write(Zipper.__file__) 

¿Puede explicarme eso a mí?

+0

Uhm, ... No lo entiendo, Zipper.main toma una discusión de depuración o no? – slezica

+0

por favor vea mi edición. – Ramy

+0

Haga que su script imprima Zipper .__ file__ y asegúrese de que está importando el archivo que espera. – Paul

Respuesta

3

Como dijo Pablo, es probable que esté ejecutando una versión diferente de Zipper.py - Me imprimir Zipper.__file__ y luego si es necesario depurar, imprimir sys.path ver por qué se trata de encontrar un archivo diferente.

+0

voy a intentarlo ahora. – Ramy

Cuestiones relacionadas