我正在使用shutil将一个文件复制到多个文件夹但是我遇到了一些奇怪的错误,这是我的代码:
Z1_99 = [1,2,4,5,7,9,13,14,
15,18,19,29,33,43,
56,60,61,76,88,92,
144,146,169]
name = input_file.split(".")[0]
for space in Z1_99:
sg_folds = os.mkdir(name+"_"+str(space))
shutil.copy(input_file, sg_folds)
但是我遇到TypeError:强制转换为Unicode:需要字符串或缓冲区,找到NoneType,如果我改变最后一行来读取它:
shutil.copy(input_file, "./"+str(sg_folds))
所有目录都会被创建,以及一个名为“None”的目录,但没有复制输入文件,任何人都可以帮我这个吗?我之前使用过shutil但有时候会让我困惑。提前谢谢!
答案 0 :(得分:2)
您使用的是os.mkdir
的返回代码,但该函数未返回任何内容,因此sg_folds
始终为None
你可能想这样做:
sg_folds = name+"_"+str(space)
os.mkdir(sg_folds)
shutil.copy(input_file, sg_folds)