Помогите с логированием PyEPL - PullRequest
2 голосов
/ 13 июля 2011

Я никогда раньше не использовал Python, большая часть моего программирования была на MATLAB и Unix.Однако недавно мне дали новое задание, которое включает исправление старой программы PyEPL, написанной бывшим сотрудником (я пытался связаться с ним напрямую, но он не отвечал на мои электронные письма).По сути, я ничего не знаю о Python, и, хотя я его поднимаю, я решил просто попросить совета.

Во всяком случае, здесь на самом деле есть две проблемы.Первый - это фрагмент кода:

exp = Experiment()
exp.setBreak()
vt = VideoTrack("video")
at = AudioTrack("audio")
kt = KeyTrack("key")
log = LogTrack("session")
clk = PresentationClock()

Я понимаю, что это делает;он создает серию файлов отслеживания в каталоге после запуска программы.Тем не менее, я искал кучу онлайн-уроков и не могу найти в них ссылки ни на одну из этих команд.Может быть, я не ищу правильные места или что-то, но я ничего не могу найти по этому поводу.

Мне нужно изменить сегмент кода

log = LogTrack("session")

, чтобы все файлы session.log перешли в новый каталог, отдельно от других файлов журнала.Но мне также нужно найти способ не только объединить их в один файл session.log, но и добавить в этот файл новый столбец, в котором будет добавлен номер субъекта (программа предназначена для запуска несколькими субъектами для сбора данных).,

Я не прошу никого делать мою работу за меня, но если бы кто-нибудь мог дать мне несколько советов или какой-либо совет, я был бы очень признателен.

Спасибо

1 Ответ

0 голосов
/ 13 июля 2011

Я бы сначала проверил, есть ли строка в коде

from some_module_name import *

Это может легко объяснить, почему вы можете вызывать эти функции (классы?).Он также скажет вам, какой файл искать, чтобы изменить код для LogTrack.

Редактировать:

Итак, небольшое копание обнаруживает, что LogTrack является частью PyEPL textlog модуль.Эти другие классы из других модулей.Где-то в коде этого человека должна быть строка, похожая на:

from PyEPL.display import VideoTrack
from PyEPL.sound import AudioTrack
from PyEPL.textlog import LogTrack
...

Это означает, что это классы, специфичные для PyEPL.Есть несколько способов изменить их работу.Вы можете изменить источник класса LogTrack, чтобы он работал по-другому.Возможно, проще было бы просто создать подкласс LogTrack и изменить некоторые его методы.

Любой из них потребует довольно глубокого понимания того, как работает этот класс.

В любом случае, я бы скачал исходный код из здесь , открыл файл code / textlog.py и начал читать, как работает LogTrack.

...