写入输出变量和时间戳的文件

2024-06-17 16:25:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个简单的输出文件,其中包含时间戳(刺激出现的时间)和刺激的颜色。在

我可以只写颜色的文件,但是每当我试图创建一个同时带有时间戳和颜色的文件时,我会得到一个错误。 “TypeError:无法连接'str'和'日期时间。日期时间“对象”

代码如下:

from psychopy import visual, core
import random
import time
import datetime
import time 
from time import strftime


f = open('2015-07-15-Random-Output.txt', 'w')
print f

file = open ('2015-07-15-Random-Output.txt', 'w')


win = visual.Window([800,800],monitor="testmonitor", units="deg")

HolaMundo = "Hola Mundo"

for frameN in range(10):
    MyColor = random.choice(['red','blue','green','pink','purple','orange','yellow','black','white'])
    time = datetime.datetime.now()
    print time
    data = MyColor + str(time)
    msg = visual.TextStim(win, text=HolaMundo,pos=[-4,0],color=MyColor)
    msg.draw()
    win.flip()
    core.wait(.1)
    datetime.datetime.now
    file.write(time + '\n')


file.close()

Tags: 文件fromcoreimportdatetimetime颜色时间
3条回答

我想这是你的问题:

file.write(time + '\n')

time变量不是字符串。你想要的是:

file.write(data+ '\n')

datetime.datetime.now只引用方法,但不调用它。它应该是str(datetime.datetime.now())或:

time = datetime.datetime.now()
time.strftime('%m/%d/%Y') #formats the date as a string

有关格式化here的详细信息

引用上一个问题here

Datetime是一个对象,它不会自动格式化自己。您需要使用strftime[1]以使其看起来像您希望的那样。根据您的文件名,您可以通过以下操作在年-月-日进行设置:

timeString = time.strftime('%Y-%d-%m')

如果你想要从纪元开始的秒数,你可以做到

^{pr2}$

然后在写入文件时,应打印时间字符串而不是时间:

file.write(timeString + '\n')

[1]-https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior

相关问题 更多 >