Python异常:“TypeError: main() 收到意外的关键词参数 'debug'”,但只有在Windows XP SP2上通过scheduledTask运行模块时出现
我在Windows XP SP2上运行Python 2.5。
当我通过Windows的计划任务运行一个Python脚本,这个脚本调用了一个我自己定义的模块叫做Zipper.py
(其实就是一个处理zip文件的工具)时,出现了这个错误:
错误追踪(最近的调用在最前面):
文件 "C:\PythonScripts\ZipAndSendEOD-Reports.py",第78行,在main函数中
Zipper.main([report],f, debug=True) #[:-4] + "_" + str(x) + ".zip")
类型错误: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
正如保罗所说,你可能在运行一个不同版本的 Zipper.py
文件。你可以打印出 Zipper.__file__
来查看它的具体路径。如果你需要调试,可以打印出 sys.path
,这样可以看看为什么它会找到一个不同的文件。