Исключение Python: "TypeError: main () получил неожиданный аргумент ключевого слова 'debug'", но если IFF модуль запускается с помощью scheduleTask в Windows XP SP2 - PullRequest
6 голосов
/ 17 ноября 2010

Запуск Python 2.5 в Windows XP с пакетом обновления 2 (SP2).

Когда я запускаю скрипт Python, который вызывает пользовательский модуль с именем Zipper.py (в основном, это оболочка для zip-файла) с помощью запланированной задачи Windows, я получаю это исключение:

Трассировка (последний последний вызов):
Файл "C: \ PythonScripts \ ZipAndSendEOD-Reports.py", строка 78, в основном
Zipper.main ([report]), f, debug = True) # [: - 4] + "_" + str (x) + ".zip")
TypeError: main () получил неожиданный аргумент ключевого слова 'debug'

Странно то, что если я просто открою файл в IDLE и нажму 'F5', он будет работать безупречно.

Я уверен, что пропустил некоторую соответствующую информацию, пожалуйстадайте мне знать, что вам нужно.

Zipper.py выглядит так:

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()

РЕДАКТИРОВАТЬ: я добавил следующие две строки кода в вызывающую функцию, и теперь она работает.

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

Можете ли вы объяснить мне это?

1 Ответ

3 голосов
/ 17 ноября 2010

Как сказал Пол, вы, вероятно, используете другую версию Zipper.py - я бы напечатал Zipper.__file__, а затем, если вам нужно отладить, выведите sys.path, чтобы узнать, почему он находит другой файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...