0

shutil を使用して 1 つのファイルを複数のフォルダーにコピーしていますが、いくつかの奇妙なエラーが発生し続けています。これが私のコードです。

 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: coercing to Unicode: need string or buffer, NoneType found が発生します。最後の行を次のように変更すると、次のようになります。

shutil.copy(input_file, "./"+str(sg_folds))

すべてのディレクトリと「なし」と呼ばれるディレクトリが作成されますが、入力ファイルのコピーは行われません。以前に shutil を使用したことがありますが、時々混乱します。前もって感謝します!

4

1 に答える 1

2

の戻りコードを使用していますos.mkdirが、関数は何も返さないため、sg_folds常にNone

あなたはおそらくこれをしたいでしょう:

sg_folds = name+"_"+str(space)
os.mkdir(sg_folds)
shutil.copy(input_file, sg_folds)
于 2013-12-06T13:10:14.567 に答える