Member 13620781 Ответов: 1

Может ли кто - нибудь помочь мне исправить эту ошибку?


Во время выполнения этого кода я получаю эту ошибку:

File "C:\Users\user\Downloads\BUILDING CLASSIFIER\ELM\HR EUROPE (1K)\3 CLASSES\application.py", line 15
    texts=clean_text(q)
                      ^
TabError: inconsistent use of tabs and spaces in indentation


Заранее спасибо.

Что я уже пробовал:

from flask import Flask, render_template, request
from clean import *

app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/search')
def search():
    q = request.args.get('q')
    if not q:
        return render_template('failure.html', texts='Please enter some keywords.')
        
    texts=clean_text(q)
    arr_texts=[texts]
    X_new = feature_extraction(arr_texts)
    Y_new = predict(X_new=X_new)
    labels = ['Negative', 'Neutral', 'Positive']
    result = labels[np.argmax(Y_new)]

    return render_template('results.html', cleaned_text = texts, res = result)

1 Ответов

Рейтинг:
7

OriginalGriff

Python чувствителен к отступам - он использует его, чтобы решить, что "принадлежит к чему".
Где по языку C стиль использует квадратные скобки:

if (a)
   {
   b;
   }
c;
Он может быть написан без отступа:
if (a)
{
b;
}
c;
Или даже возврат каретки или пробелы:
if(a){b;}c;
Или, что еще хуже, без скобок в данном случае:
if(a)b;c;
И результат будет тот же самый.
Питон совсем не такой:
if (a):
   b
c
линия с отступом говорит, что b выполняется только в том случае, если a правдивый. c выполняется независимо от этого.
Но количество отступов не имеет значения, при условии, что они последовательны:
if (a):
                                        b
c
Будет работать так же, как и будет
if (a):
 b
c
Если вы включаете две строки в условное выражение:
if (a):
   b
   d
c
Тогда все в порядке, при условии b и d имейте точно такой же отступ.
Но... и это одна из причин, почему я ненавижу Python ... вкладки и пробелы-это не одно и то же, даже если они дают одинаковый внешний вид на экране! если в последнем примере было три пробела до этого b и еще одна вкладка перед этим d Pythoid не считает их одинаково отступами и выдаст вам ошибку, потому что он не может найти ничего, что можно было бы "включить" d в. Самое лучшее решение - вернуться к своему редактору - что бы это ни было-и найти опцию, которая говорит "заменить вкладки пробелами" или "развернуть вкладки в пробелы" (разные редакторы используют разную терминологию).
Затем сохраните файл еще раз и повторите попытку. со всеми пробелами это должен быть один и тот же отступ.