else和elif的语法错误

时间:2017-02-14 02:30:07

标签: python-3.x if-statement for-loop

我正在尝试将1500行的文件分成元数据和数据。

这就是我所拥有的:

headerLines = []
dataLines = []
for line in lineList:
    if (len(line) > 0 and (line[0] == # )) :
        headerLines.append(line)     
    elif (len(line) > 0 and (line[0] == U ):
        dataLines.append(line)
print("we have {} lines of metadata".format(len(headerLines)))
print("we have {} lines of data".format(len(dataLines)))       

#here we want to seperate the lines in the file into headerLines and dataLines

2 个答案:

答案 0 :(得分:1)

您的问题在解析中。改变这一行:

    if (len(line) > 0 and (line[0] == # )) :

    if (len(line) > 0 and (line[0] == '#' )):

正在发生的事情是哈希(#)被视为注释,因此忽略它之后的所有内容(这就是为什么它是灰色的)。我做了什么来修复它是我把它改成一个字符串,这无论如何不可避免地修复了脚本的另一个问题。如果第[0]行是一段值为#的文本,那么它将被打印为字符串,#'#',所以如果我们检查它,它就会正常工作。

对于患有阅读障碍症的人来说,你的工作做得非常出色,并且对你学习有好处。

答案 1 :(得分:0)

此行最后需要')'。 像这样:     elif(len(line)> 0和(line [0] == U)):

另一个问题:     if(len(line)> 0和(line [0] =='#')):

'#'是一个运算符。就像+/-一样,你无法将'aaa'与+/-进行比较。