2015-04-04 2 views
1

с открытой (url_for («статического», имя файла = «bmidata.txt»), как F:Python/Колба открытия текстового файла в колбе

выше линии вызывает ошибку синтаксиса (отмеченные в «как» .) код является частью следующим:

@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) 

Любой оцененной помощь

+0

Незакрытые круглые скобки перед 'as'. Кроме того, 'url_for' не похож на то, что вы ищете. – bereal

ответ

5

В этой строке:

with open(url_for('static', filename='bmidata.txt') as f: 

вы скучаете g один закрывающий кронштейн:

with open(url_for('static', filename='bmidata.txt')) as f: 

Именно по этой причине SyntaxError.

Открытие файла не работает, потому что open не принимает URL. Если вам нужно открыть статический файл, используйте with app.open_resource('static/bmidata.txt') as f: или найдите путь к файлу в файловой системе.

+0

Thanks Messa, получил его работу (по-прежнему провел 15 минут, пытаясь выяснить, что не так с open-ресурсом (должен иметь курс open_resource). – Dee

Смежные вопросы