赞
踩
这个bug的由来,博主在python3.8中编写的代码,使用函数
shutil.copytree(code_Path,code_buildPath,dirs_exist_ok=True)
但是由于需要换到python3.7中运行,报错了没有 keyword argument 'dirs_exist_ok',最开始的时候博主以为自己不小心碰到键盘,错打上去了,经过尝试之后,发现python3.8中的shutil可以正常使用关键字。但是有很多环境已经在python3.7中安装好,于是尝试在python3.7中修改源码,以满足项目需求。
可以看到,确实没有dirs_exist_ok关键字,这里博主为了程序能正常运行,直接加入dirs_exist_ok=True关键字,如下
def copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False,dirs_exist_ok=True):
这样程序在第一次运行的时候,没有发生错误,代码可以正常运行了,但是出现一个问题,当代码第二次运行的时候,出现下面的错误:
也就是说,给shutil.copytree()函数加上dirs_exist_ok关键字,只是保证了原来的程序的运行,并没有使原来的函数的功能正常。
在该函数的315行,可以找到这行代码,或者直接按照村务的提示,找到这行代码。
将其修改为:
os.makedirs(dst,exist_ok=dirs_exist_ok)
如下图所示
就可以正常适用该函数的功能。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。