2013-12-06 7 views
0

Я использую 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)) 

Все каталоги получить сделаны, а также один не называется «нет», но не копирование входного файла происходит, может кто-нибудь помогите мне с этим? Раньше я использовал заклинание, но иногда это меня смущает. Заранее спасибо!

ответ

2

Вы используете код возврата os.mkdir, но функция не возвращает ничего, так sg_folds всегда None

Вы, вероятно, хотите сделать это:

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

Ах спасибо так много поработал лечите, спасибо за объяснение, как хорошо! – Jsg91