将打印语句写入文本文件(Python)

时间:2018-07-24 20:14:56

标签: python text text-files

我有一些运行该函数时可以运行的代码,但我希望将打印语句添加到名称为nameWhole的空文件中。我不确定如何执行此操作,因为print语句处于while循环中,并且我需要添加到文件中的某些内容是字典(我知道无法将其添加到文本文件中)

def errors():
date = sessionStartFMT()
extraPos = findExtraPos()
extraBehavior = findExtraBehavior()
startStops = startStop()
behavior = []
actor = []
subject = []
startBehavior = []
stopBehavior = []

namept1 = date[1]
namept2 = str(namept1[:10])
nameWhole = 'errors_'+ namept2 +'.csv'
file = open(nameWhole, 'w') 

with open('behaviorsTable.csv') as file:
    read = csv.reader(file)
    for row in read:
        actor.append(row[4])
        subject.append(row[5])
        if row[7] != "":
            behavior.append(row[7])
        else:
            behavior.append(row[10])

x = 0
while x < len(startStops):
    if startStops[x] == "Start":
        startBehavior.append(behavior[x])
    elif startStops[x] == 'Stop':
        stopBehavior.append(behavior[x])
    x += 1

if len(startBehavior) != len(stopBehavior):
    startCounter = dict(Counter(startBehavior))
    stopCounter = dict(Counter(stopBehavior))

print(startCounter)
print(stopCounter)
print(extraBehavior + ' is started and never stopped')
print('')

x = 0
count = 0
while x < len(behavior):
    if behavior[x] == extraBehavior:
        print(behavior[x], actor[x], subject[x], startStops[x])
        if count == extraPos:
            print('error occured')
            break
        elif count != extraPos:
            count += 1
            x += 1
    else:
        x += 1

这是输出(以及我需要文本文件如何显示):

{'Feed Forage': 22, 'Groom': 11, 'Nonsocial Play': 8, 'Social Play': 15}
{'Feed Forage': 21, 'Groom': 11, 'Nonsocial Play': 8, 'Social Play': 15}
Feed Forage is started and never stopped
Feed Forage Nm Nm Start
Feed Forage Nm Nm Stop
Feed Forage Nm Nm Start
Feed Forage Nm Nm Stop
Feed Forage Nm Nm Start
Feed Forage Nm Nm Stop
Feed Forage Nm Nm Start
Feed Forage Nm Nm Stop
Feed Forage Nm Nm Start
Feed Forage Nm Nm Stop
Feed Forage Sv Sv Start
Feed Forage Sv Sv Stop
Feed Forage Sv Sv Start
Error occurred

如果您对此有任何想法,请告诉我!

0 个答案:

没有答案