我想獲得一個小python腳本工作,它將解析我有一個文件,並只返回我想要的行。下面的代碼返回給我一個錯誤「IndexError:字符串索引超出範圍」。字符串長度超過2個字符,但字符串[1]返回錯誤?
source = open("source.txt", "r")
new = open("new.txt", "a")
newLine = ""
for line in source:
newLine = line
if newLine[1] == "W":
print newLine
new.write(newLine)
這混淆了我,因爲我敢肯定,有在這些字符串超過2個字符。但是如果我更換:
if newLine[1] == "W":
有:
if newLine[0] == "[":
代碼開始工作?
唯一的問題是,我需要按第二個字符排序,因爲除了我想要的之外,第一個字符還會返回大量不需要的行。
你可以在你的文件中記錄這行並粘貼在這裏。 – starkshang
如果Python認爲該行只有一個字符,並且您認爲它有兩個字符,我知道我在下注哪種方式。 :-)立即在你的'for line for source:'loop中添加'print len(line),repr(line)'並找到不正確的行。 – DSM
我敢打賭,你有空行,並沒有考慮到它們。 – user2357112