将当前日期/时间添加到默认文件名

时间:2016-12-09 00:08:35

标签: python psychopy

我正在使用psychopyiohub进行眼动追踪实验(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')

提前多多谢谢!

1 个答案:

答案 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。