Python异常:“TypeError:main()得到一个意外的关键字参数'debug'”,但如果该模块是通过Windows XP SP2上的scheduledTask运行的

2024-06-11 00:05:21 发布

您现在位置:Python中文网/ 问答频道 /正文

在WindowsXPSP2上运行Python2.5。

当我运行一个Python脚本,该脚本使用Windows scheduledTask调用一个名为Zipper.py(基本上是zipfile的包装)的用户定义模块时,出现以下异常:

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'

奇怪的是,如果我简单地在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__)

你能给我解释一下吗?


Tags: inpydebug脚本ifmainzipfname
1条回答
网友
1楼 · 发布于 2024-06-11 00:05:21

正如Paul所说,您可能正在运行一个不同版本的Zipper.py-我会打印出Zipper.__file__,然后如果您需要调试,打印出sys.path来查看它为什么会找到不同的文件。

相关问题 更多 >