Есть ли способ расширить массив, который хранит данные из файла на каждой итерации for
-loop и with
команда комбо, используя glob
. В настоящее время, у меня есть что-то вродеPython: Можете ли вы расширить массив на каждой итерации с помощью glob (или аналогичного) для чтения в файлах из каталога
import glob
from myfnc import func
for filename in glob.glob('*.dta'):
with open(filename,'rb') as thefile:
fileHead, data = func(thefile)
где func
определен в другом сценарии myfnc
. Это делается на каждой итерации в каталоге, сохраняет данные из каждого файла в fileHead
и data
(в виде массивов), стирая все, что было на предыдущей итерации. Мне нужно что-то, что будет расширять каждый массив на каждом проходе. Есть ли хороший способ сделать это? Это не обязательно для цикла, с комбо. Именно так я читаю во всех файлах из каталога.
Я думал об инициализации массивов заранее, а затем попробовал их продлить после того, как with
выполнен за один проход, но он дал мне какую-то ошибку с командой extend
. С ошибкой, код будет выглядеть следующим
import glob
from myfnc import func
fileHead, data = [0]*2
for filename in glob.glob('*.dta'):
with open(filename,'rb') as thefile:
fileHeadExtend, dataExtend = func(thefile)
fileHead.extend(fileHeadExtend)
data.extend(dataExtend)
Таким образом, вопрос, что он имеет в fileHead
и data
оба инициализирован, но, как INT-х. Тем не менее, я не хочу, чтобы инициализировать массивы так много нулей. Здесь не должно быть никаких произвольных значений. Итак, вот где проблема лежит для этого.
Добавить сообщение об ошибке Python на ваш вопрос. –
'AttributeError: объект 'int' не имеет атрибута 'extend'' – Lou
Теперь вам нужно выяснить, какая переменная является' int'. –