Python - 将结果值导出到文本文件

时间:2014-12-11 17:25:31

标签: python

Python newb在这里 - 尝试了一些我在谷歌上找到但却没有用的东西,也许我正在说出我想做错误的事情。我有一个IRC机器人在游戏后运行以下内容:

def finish(attacker,defender,winner):
    if winner == attacker:
        kick(defender,"banned")
    else:
        kick(attacker,"banned")

我想要做的是获取胜利者的价值并将其导出到.txt文件中,以及一个计数器,显示他们最终成为"赢家"的次数。正如我所说,我尝试了一些我在谷歌上找到的东西,并试图确定一些其他机器人做类似的事情,但它似乎没有工作(因为我尝试的方法似乎更多比我做的简单导出更复杂。

2 个答案:

答案 0 :(得分:1)

所以这里有2个选项。你的意思是你想要一个基本上是所有游戏日志的文件,谁赢了?这是更容易的选择。该文件看起来像:

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处理。

答案 1 :(得分:0)

以下是一些示例代码,如果它有帮助:

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