2010-11-16 20 views
6

Chạy Python 2.5 trên Windows XP SP2.Ngoại lệ Python: "TypeError: main() có đối số từ khóa không mong muốn 'debug'" nhưng IFF mô-đun được chạy qua scheduleTask trên Windows XP SP2

Khi tôi chạy một kịch bản Python mà các cuộc gọi một module người dùng định nghĩa gọi là Zipper.py (cơ bản là một wrapper cho một zipfile) sử dụng Windows scheduledTask tôi nhận được ngoại lệ này:

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'

Điều kỳ lạ là nếu tôi chỉ cần mở tập tin trong IDLE và nhấn 'F5', nó chạy hoàn hảo.

Tôi chắc chắn tôi đã để lại một số thông tin cần thiết, vui lòng cho tôi biết những gì bạn cần.

Zipper.py trông như thế này:

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: tôi thêm hai dòng mã sau đây để các chức năng gọi điện thoại, và nó hiện đang làm việc.

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

Bạn có thể giải thích cho tôi biết không?

+0

Uhm, ... Tôi không hiểu, liệu Zipper.main có gỡ rối một đối số hay không? – slezica

+0

vui lòng xem chỉnh sửa của tôi. – Ramy

+0

Có tập lệnh của bạn in Zipper .__ file__ và đảm bảo rằng tập lệnh đó đang nhập tệp bạn mong muốn. – Paul

Trả lời

3

Như Paul đã nói, có thể bạn đang chạy phiên bản khác nhau của Zipper.py - Tôi sẽ in ra Zipper.__file__ và sau đó nếu bạn cần gỡ lỗi, in ra sys.path để xem lý do tại sao nó tìm một tệp khác.

+0

Tôi sẽ thử ngay bây giờ. – Ramy

Các vấn đề liên quan