Переменная trials
является файловым объектом (из trials = open('cog2.csv', 'rb')
), и вы пытаетесь получить к нему доступ в виде списка с помощью trials[Word]
, отсюда и ошибка.
Вы должны использовать метод csv.reader
, чтобы вместо этого прочитать файл как CSV, чтобы trial
был назначен для каждой строки в виде списка, и чтобы вы могли получить доступ к каждому столбцу с индексом, как вы планировали: [117 ]
import csv
for trial in csv.reader(trials):
textStimuli.append(visual.TextStim(win, text=trial[Word]))
imageStimuli.append(visual.ImageStim(win, size=[0.5, 0.5], image=trial[imageFile]))
Это только было бы сырыми данными dll содержание, как будто Вы сохранили их на диск? т.е. эквивалент File.ReadAllBytes
?
Это кажется, что dll сгенерирован - можно ли сохранить его где-нибудь? (временная область, поток памяти, и т.д.)?
редактирование, Так как это кажется Вами, использует код-dom, пытается использовать PathToAssembly
(на результатах компилятора) и File.ReadAllBytes
(или подобный механизм потоковой передачи).
Просто загрузите Файл через ReadAllBytes и запишите через WriteAllBytes. Байт [] мог быть передан по сети.
// Transfer to byte[]
byte[] data = System.IO.File.ReadAllBytes(@"C:\ClassLibaryOne.dll");
// Write to file again
File.WriteAllBytes(@"C:\ClassLibaryOne.dll", data);
править: При использовании AssemblyBuilder для создания dll, можно использовать.Save (имя файла) для сохранения его Вам жесткий диск прежде.
AssemblyBuilder a = ...
a.Save("C:\ClassLibaryTwo.dll);