У меня есть папка данных с подпапками для каждого предмета, проходящего через программу. Так, например, в папке данных есть папки для Боба, Фреда и Тома. Каждая из этих папок содержит различные файлы и подпапки. Однако меня интересует только файл «summary.log», который содержится в папке каждого субъекта.
Я хочу объединить файл "summary.log" Боба, Фреда и Тома в один файл журнала в папке данных. Кроме того, я хочу добавить столбец к каждому файлу журнала, в котором будет указан номер темы.
Возможно ли это сделать в Python? Или есть более простой способ сделать это? Я пробовал несколько разных пакетов кода, но ни один из них не справился с работой. Например,
#!/usr/bin/python
import sys, string, glob, os
fls = glob.glob(r'/Users/slevclab/Desktop/Acceptability Judgement Task/data/*');
outfile = open('summary.log','w');
for x in fls:
file=open(x,'r');
data=file.read();
file.close();
outfile.write(data);
outfile.close();
дает мне ошибку,
Traceback (most recent call last):
File "fileconcat.py", line 8, in <module>
file=open(x,'r');
IOError: [Errno 21] Is a directory
Я думаю, что это связано с тем, что папка данных содержит подпапки, но я не знаю, как обойти это. Я тоже пробовал это, но безрезультатно:
from glob import iglob
import shutil
import os
PATH = r'/Users/slevclab/Desktop/Acceptability Judgement Task/data/*'
destination = open('summary.log', 'wb')
for filename in iglob(os.path.join(PATH, '*.log'))
shutil.copyfileobj(open(filename, 'rb'), destination)
destination.close()
Это дает мне ошибку «неверный синтаксис» в строке «для имени файла», но я не уверен, что изменить.