Python-将结果值导出到文本文件
Python新手-尝试了我在google上找到的一些东西,但都没有成功,也许我的措辞不正确。我有一个IRC机器人,在游戏结束后运行以下功能:Python-将结果值导出到文本文件,python,Python,Python新手-尝试了我在google上找到的一些东西,但都没有成功,也许我的措辞不正确。我有一个IRC机器人,在游戏结束后运行以下功能: def finish(attacker,defender,winner): if winner == attacker: kick(defender,"banned") else: kick(attacker,"banned") 我想做的是获取赢家值并将其导出到一个.txt文件中,以及一个计数器,该计数器显
def finish(attacker,defender,winner):
if winner == attacker:
kick(defender,"banned")
else:
kick(attacker,"banned")
我想做的是获取赢家值并将其导出到一个.txt文件中,以及一个计数器,该计数器显示赢家的次数。正如我所说的,我尝试了在谷歌上找到的一些东西,并试图确保其他一些机器人也能做类似的事情,但它似乎不起作用(因为我尝试的方法似乎比我正在做的简单导出更复杂)。因此这里有两个选项。你是说你想要一个基本上是所有游戏和谁赢的日志的文件吗?这是比较容易的选择。该文件看起来像:
1/1/14 00:00:01 Player 1 won 3 games
1/1/14 00:01:01 Player 2 won 5 games
1/1/14 00:04:05 Player 1 won 5 games
或者。。。您可能需要一个仅包含总计的文件:
Player 1 has won a total of 8 games.
Player 2 has won a total of 5 games.
要执行第一个选项,您只需执行以下简单操作:
score_filehandle = open("filename.txt","w+")
# And then when a game ends:
score_filehandle.write(" ".join([current_time, player_id, "won", games_won, "games"]) + "\n")
执行第二个操作要复杂得多,最好使用sqlite进行处理。以下是一些示例代码,如果有帮助的话:
import random
import csv
count = 0
with open('sample.csv', 'w') as csvfile:
fieldnames = ['count', 'token']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
while count < 100000:
strRand = ''.join(random.sample(map(chr, range(48, 57) + range(65, 90) + range(97, 122)), 24))
writer.writerow({'count': count, 'token': strRand})
count = count + 1
随机导入
导入csv
计数=0
将open('sample.csv','w')作为csvfile:
FieldName=['count','token']
writer=csv.DictWriter(csvfile,fieldnames=fieldnames)
writer.writeheader()
当计数小于100000时:
strRand=''.join(random.sample(映射(chr,range(48,57)+range(65,90)+range(97122)),24))
writer.writerow({'count':count,'token':strRand})
计数=计数+1
所以我认为您要做的是在更新计数器中读取文件,然后将其导出回来?此代码甚至无效;它需要tabs@codequestioneer:对于缩进,代码不需要制表符,它需要空格(根据PEP-8)。我想要它做的是将“winner”中的值与计数器一起放入文本文件。例如,如果“user1”是赢家,它会将user1-1放入一个文本文件中,因为没有提供足够的信息。