Python中用于文件读取的未绑定本地错误

时间:2014-04-22 17:53:34

标签: python scope

我有一个读取数据文件的函数,并将该文件中的值作为列表打印注释。

def loadcsv(filename):
    """Loads a comma-separated-value file (.csv) and returns a list of all the   numerical values, ignoring comments and any malformatted data."""
    """Function should ignore bad data, but print all comments."""
    datafile = open(filename)
    global datafile
    numbers = []
    for line in datafile:
    if line[0] == "#":
        print line
    elif line[0] != "#" or type(line[0]) != type(0) or type(line[0]) != type(0):
        print "Bad Data"
    else:
        numbers.append(line)
    datafile.close()
    return numbers

如果我将数据文件声明为全局,我不知道如何得到错误。

1 个答案:

答案 0 :(得分:1)

global语句必须是您函数的第一行,因此只需交换global datafiledatafile = open(filename)行。