最近在写使用shutil复制文件的代码,需要判断文件夹是否存在,若不存在自动创建,但是创建文件夹后,再复制总失败,显示如下权限错误:
打开新建的文件夹发现默认给我设成只读的了
而且我本来是要复制图片文件,结果默认给我生成的是文件夹
后来才意识到,我创建文件夹用的是os.makedir()
,该方法是创建多层文件夹方法,我一复制文件默认给我向下创建文件夹了,而且还是只读的,应该使用os.mkdir()
方法创建单层文件夹,完整代码如下:
in_path = imgpath+'/'+i
# 复制文件目标路径
copy_path = 'F:/copypath/'+name.split('.')[0]+'/'+i
# 判断文件夹是否存在,不存在创建
if not os.path.exists(copy_path):
os.mkdir(copy_path)
print(copy_path)
print('正在复制')
shutil.copyfile(in_path, copy_path)
print('复制完成')