我想获得一个小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