Приведенный ниже скрипт отлично работает при запуске с (F9).При запуске с (F5) он все еще работает (все операции выполняются нормально), но выдает следующую ошибку:
Файл "", строка 1, в runfile ('S: / Fakultaet / MFZ/NWFZ/AGdeHoz/Philipp/Python/Analysis_script.py',wdir='S:/Fakultaet/MFZ/NWFZ/AGdeHoz/Philipp/Python')
Файл "c: \ anaconda3 \ lib \ site-"packages \ spyder \ utils \ site \ sitecustomize.py ", строка 709, в исполняемом файле namespace.pop (' file ')
KeyError: ' file '
Я хотел бы знать, что происходит и как это исправить.
Я прочитал кое-что о проблеме с вложением, поэтому я выбрал часть, где я импортирую свою собственную функцию, а такжечасть, где я использую это.Ошибка все еще сохраняется.Так что это по крайней мере не имеет ничего общего с моей собственной функцией.
from IPython import get_ipython
get_ipython().magic('%reset -f')
import time
tic = time.time()
import sys
import os
import pickle
import CSC_getdata_timestamps
General_folder = 'Data' #where processed data will be saved
filename_extension = '_Sleep_auditory'; #file extension name
Database_name = 'mydata.obj' #name of database
ExpDates = 'ExpDates.obj' #name of object containing all experimental
dates
root = r"S:\Fakultaet\MFZ\NWFZ\AGdeHoz\Philipp" #root directory (data
location)
AnalyType = "LFP" #"SP" Local field potential or Spike analysis
spr = 30000 #sample rate
Cname = "CH"
file_md = open(r"S:\Fakultaet\MFZ\NWFZ\AGdeHoz\Philipp\Data\Database\\" +
Database_name, "rb")
md = pickle.load(file_md)
file_ExpDates =
open(r"S:\Fakultaet\MFZ\NWFZ\AGdeHoz\Philipp\Data\Database\\" +
ExpDates, "rb")
ExpDates = pickle.load(file_ExpDates)
for mi, expdates in enumerate(ExpDates):
day = expdates
mouse = md[expdates]['mouse']
files = md[expdates]['rectime']
filesm = md[expdates]['FRAm'] + md[expdates]['REMm'] + md[expdates]
['SWSm'] + md[expdates]['awakem']
rect = md[expdates]['rect']
filest = [md[expdates]['FRAt'], md[expdates]['REMt'], md[expdates]
['SWSt'], md[expdates]['awaket']]
channels = md[expdates]['channels']
for f, files_m in enumerate(filesm):
try:
if len(files) == 1:
recname = files
else:
tfiles = []
tfilesm = []
for i, file in enumerate(files):
tfiles.append(int(files[i][0:2]) * 60 + int(files[i]
[3:5]))
tfilesm = int(files_m[f][0:2]) * 60 + int(files_m[f]
[3:5])
recidx = [i for i in range(len(tfiles)) if tfiles[i] <
tfilesm]
recname = files[recidx[-1]]
TS0 = (int(rect[0:2]) * 3600 + int(rect[3:5]) * 60 +
int(rect[6:8])) * spr
TS1 = TS0 + (int(filest[f][0][0:2]) * 3600 + int(filest[f][0]
[3:5]) * 60 + int(filest[f][0][6:8])) * spr
TS2 = TS0 + TS1 + (int(filest[f][1][0:2]) * 3600 +
int(filest[f][1][3:5]) * 60 + int(filest[f][1][6:8])) * spr
TS = [TS1, TS2]
savename = files_m[0:2] + "-" + files_m[3:5]
if AnalyType == "LFP":
if not os.path.exists(root + "\Data\Raw" +
filename_extension + "\LFP\\" + day):
os.makedirs(root + "\Data\Raw" + filename_extension +
"\LFP\\" + day)
else:
print("Directory already exists.")
elif AnalyType == "SP":
if not os.path.exists(root + "\Data\Raw" +
filename_extension + "\SP\\" + day):
os.makedirs(root + "\Data\Raw" + filename_extension +
"\SP\\" + day)
else:
print("Directory already exists.")
else:
sys.exit("Invalid type of analysis. Check variable
AnalyType.")
varlist, trseq, trlength, stlength, ntrials, datacscini,
samplefreq, tscsc, tstrig =
CSC_getdata_timestamps.CSC_getdata_timestamps(root, day,
savename, recname, channels, AnalyType, TS)
print(trseq)
except Exception as e:
print('Error: ' + str(e))
print('mi = {}, f = {}'.format(mi, f))
toc = round(time.time() - tic, 2)
print("elapsed time:", toc, "seconds")
Весь сценарий состоит в объединении данных из (1) записанной базы данных с (2) кадром данных, который включает в себя характеристики воспроизводимого звука.во время (3) записи.простите, если написано очень не пифонично, я только недавно перешел с Matlab.Скрипт для приложения в неврологии.