我正在使用psychopy
与iohub
进行眼动追踪实验(SR Eyelink tracker)。
问题:正在显示的机器上保存的edf输出称为“et.data”,如果我多次运行实验,该文件将继续被重写。我想要的是用日期/时间戳保存edf文件,所以它们不会被重写。
文件名来源:我注意到文件名的来源位于iohub_config.yaml
文件中,表示为default_native_data_file_name: et_data
,它来自包中的.py文件附在下面。
如何对此进行编辑,以便default_native_data_file_name
提供当前日期/时间(例如:20160812114506
)?
default_native_data_file_name=tracker_config.get('default_native_data_file_name',None)
if default_native_data_file_name:
if isinstance(default_native_data_file_name,(str,unicode)):
r=default_native_data_file_name.rfind('.')
if default_native_data_file_name>0:
if default_native_data_file_name[r:] == 'edf'.lower():
default_native_data_file_name=default_native_data_file_name[:r]
if len(default_native_data_file_name)>7:
EyeTracker._full_edf_name=default_native_data_file_name
twoDigitRand=np.random.randint(10,99)
EyeTracker._host_edf_name=self._full_edf_name[:3]+twoDigitRand+self._full_edf_name[5:7]
else:
EyeTracker._full_edf_name=default_native_data_file_name
EyeTracker._host_edf_name=default_native_data_file_name
else:
print2err("ERROR: default_native_data_file_name must be a string or unicode value")
if self._local_edf_dir and self._full_edf_name:
EyeTracker._active_edf_file=self._full_edf_name+'.EDF'
self._eyelink.openDataFile(self._host_edf_name+'.EDF')
提前多多谢谢!
答案 0 :(得分:1)
如果我理解您的问题,您希望变量default_native_data_file_name
是表示当前日期和时间的字符串。
from datetime import datetime
dt_now = datetime.now()
default_native_data_file_name = dt_now("%Y%m%d%H%M%S")
print default_native_data_file_name
N.B。这是python2。