用 open(url_for('static', filename='bmidata.txt') 作为 f:
上述行导致语法错误(标记为“as”)。代码部分如下:
@app.route('/display')
def display():
page_info = {
'title':'Assignment Flask',
'heading': 'Python Flask Assignment'
}
filedata = []
with open(url_for('static', filename='bmidata.txt') as f:
for line in f:
str = line
dataarray = str.split(',')
it =iter(dataarray)
name = it.next()
height = it.next()
weight = it.next()
newPerson = Person(name, height,weight)
filedata.append(newPerson)
return render_template('display.html', info = page_info, fileinfo = filedata)
感谢任何帮助
请您参考如下方法:
在这一行中:
with open(url_for('static', filename='bmidata.txt') as f:
你少了一个右括号:
with open(url_for('static', filename='bmidata.txt')) as f:
这就是 SyntaxError 的原因。
打开文件不能以这种方式工作,因为 open 不接受 URL。如果您需要打开静态文件,请使用 with app.open_resource('static/bmidata.txt') as f: 或在文件系统中查找文件的路径。
