需要帮助编辑文本文件中列表中的值。

时间:2016-04-30 01:14:48

标签: python

我无法在我的列表中添加一个数字,我在文本文件中并且不知道如何操作。

到目前为止

代码:

def add_player_points():
# Allows the user to add a points onto the players information.

    L = open("players.txt","r+")
    name = raw_input("\n\tPlease enter the name of the player whose points you wish to add: ")
    for line in L:
            s = line.strip()
            string = s.split(",")
            if name == string[0]:
                    opponent = raw_input("\n\t Enter the name of the opponent: ")
                    points = raw_input("\n\t Enter how many points you would like to add?: ")
                    new_points = string[5] + points
    L.close() 

这是文本文件中键的示例。文件中大约有100个:

Joe,Bloggs,J.bloggs@anemailaddress.com,01269 512355, 1, 0, 0, 0, 
                                                        ^  

除了已经存在的数字之外,我想要添加此数字的值是0,由下面的箭头指示。文本文件名为players.txt,如图所示。

完整的代码答案会有所帮助。

1 个答案:

答案 0 :(得分:0)

这可能是问题所在:

new_points = string[5] + points

您正在添加另一个字符串的字符串,您需要将它们转换为整数

new_points = int(string[5]) + int(points)

这不是检查错误输入,但假设文件格式正确且用户输入也是如此,它应该可以工作。

编辑:如果您想使用新信息更新文件,更好的方法是将问题分为3部分:1)将玩家信息读入适当的数据结构,例如:使用播放器名称作为键的字典,2)对字典进行更改,最后3)将更改保存回文件。所以你的代码应该分成3个函数。可以找到一些帮助here