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í?
Uhm, ... No lo entiendo, Zipper.main toma una discusión de depuración o no? – slezica
por favor vea mi edición. – Ramy
Haga que su script imprima Zipper .__ file__ y asegúrese de que está importando el archivo que espera. – Paul