我有一个读取数据文件的函数,并将该文件中的值作为列表打印注释。
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
如果我将数据文件声明为全局,我不知道如何得到错误。
答案 0 :(得分:1)
global
语句必须是您函数的第一行,因此只需交换global datafile
和datafile = open(filename)
行。