由于"导致错误\"人物

时间:2017-04-05 16:33:30

标签: python backslash

我得到了:

  

"行继续符后的意外字符"

如何在不收到错误的情况下编写line = line.strip("\xef\xbb\n\xbf")行。

dataFile = open("data.txt","r")

updateFile = open("update","r")
newFile = open("newdata","w")

dataMatrix = []
updateMatrix = []

cardList = []

for line in dataFile:
    line = line.strip("\xef\xbb\n\xbf")
    tmp = line.split(" ")
    cardNum = tmp[0]
    cardName = " ".join(tmp[1:-2])
    cardDate = tmp[-2]
    cardSum = tmp[-1]
    dataMatrix.append([cardNum,cardName,cardDate,cardSum])
    cardList.append(cardNum)

i = 0

updateDate = ""

for line in updateFile:
    line = line.strip("\xef\xbb\n\xbf")

    if i==0 : updateDate = line; i=1; continue;

    tmp = line.split(" ")
    upNum = tmp[0]
    upName = " ".join(tmp[1:-1])
    upSum = tmp[-1]
    updateMatrix.append([upNum,upName,upSum])

for row in updateMatrix:
    if row[0] in cardList: 
        index = cardList.index(row[0])
        plus = row[2]

        if plus[0] == "+": 
            plus = int(plus[1:]) 
        else:
            plus = -int(plus[1:])

        curSum = int(dataMatrix[index][3])
        newSum = curSum+plus
        dataMatrix[index][3] = newSum
        dataMatrix[index][2] = updateDate
        # dataMatrix[index][]

    else:
        dataMatrix.append([row[0],row[1],updateDate,row[2][1:]])

dataMatrix.sort(key=lambda row: row[0])

for row in dataMatrix:
    print row
    newFile.write(" ".join(str(a) for a in row) + "\n")

0 个答案:

没有答案