Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-将结果值导出到文本文件_Python - Fatal编程技术网

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

Python-将结果值导出到文本文件,python,Python,Python新手-尝试了我在google上找到的一些东西,但都没有成功,也许我的措辞不正确。我有一个IRC机器人,在游戏结束后运行以下功能: def finish(attacker,defender,winner): if winner == attacker: kick(defender,"banned") else: kick(attacker,"banned") 我想做的是获取赢家值并将其导出到一个.txt文件中,以及一个计数器,该计数器显

Python新手-尝试了我在google上找到的一些东西,但都没有成功,也许我的措辞不正确。我有一个IRC机器人,在游戏结束后运行以下功能:

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放入一个文本文件中,因为没有提供足够的信息。