我正在使用os.walk模块和zipfile模块编写python代码,该模块遍历give目录并创建扩展名为“ .xlsx”的文件的zipfile。
现在,每当我尝试运行下面的代码时,它都会给出TypeError “ init ()至少包含4个参数(给定3个)”。
到目前为止,我认为python对os.walk()抛出此错误,我认为我已经将正确的参数传递给了它。
import os,zipfile
dir_path=raw_input('Enter the root dir path\n')
with zipfile.ZipExtFile(dir_path,'w') as zf:
for rt_dir,foldrs,files in os.walk(dir_path):
for file in files:
if file.endswith('.xlsx'):
zf.write(os.path.join(rt_dir,file))
当我运行上面的代码时,它把TypeError抛出为波纹管..
>>> dir_path=raw_input('Enter the root dir path\n')
Enter the root dir path
C:\Users\KGKadam
>>> with zipfile.ZipExtFile(dir_path,'w') as zf:
... for rt_dir,foldrs,files in os.walk(dir_path):
... for file in files:
... if file.endswith('.xlsx'):
... zf.write(os.path.join(rt_dir,file))
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: __init__() takes at least 4 arguments (3 given)
>>>
请在这里帮助我,我没有弄错地方。