У меня есть функция ниже, которая копирует файл в каталог и воссоздает его в каталоге, где вызывается функция. Когда я запускаю код по частям в ipython, он работает нормально. Однако, когда я выполняю его как функцию, он выдает мне следующую ошибку:
---> 17 shutil.copy2(filein[0], os.path.join(dir,'template.in'))
TypeError: 'type' object is not subscriptable
Вот функция
import os
import shutil
from find import find
def recreatefiles(filedir):
currdir = os.getcwd() # get current directory
dirname = 'maindir'
dir = os.path.join(currdir,dirname)
if not os.path.exists(dir):
os.makedirs(dir)
#Copy .in files and create a template
filein = find('*.in',filedir) # find is a function created
shutil.copy2(filein[0], os.path.join(dir,'template.in'))
Есть идеи по поводу ошибки? Спасибо
РЕДАКТИРОВАТЬ: Вот код для поиска
* * 1010
EDIT2: вывод файла из ipython
[1]: filein
[2]: ['/home/Projects/test.in']
По сути, есть только один файл. Я использовал filein [0] в shutil.copy2, чтобы убрать квадратные скобки