一次复制到多个目录

时间:2013-12-06 13:00:30

标签: python copying shutil

我正在使用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但有时候会让我困惑。提前谢谢!

1 个答案:

答案 0 :(得分:2)

您使用的是os.mkdir的返回代码,但该函数未返回任何内容,因此sg_folds始终为None

你可能想这样做:

sg_folds = name+"_"+str(space)
os.mkdir(sg_folds)
shutil.copy(input_file, sg_folds)