Получавам грешка, докато изпълнявам тази част от кода. опитах някои от съществуващите решения, но нито едно от тях не помогна
elec_and_weather = pd.read_csv(r'C:\HOUR.csv', parse_dates=True,index_col=0)
# Add historic DEMAND to each X vector
for i in range(0,24):
elec_and_weather[i] = np.zeros(len(elec_and_weather['DEMAND']))
elec_and_weather[i][elec_and_weather.index.hour==i] = 1
# Set number of hours prediction is in advance
n_hours_advance = 24
# Set number of historic hours used
n_hours_window = 24
for k in range(n_hours_advance,n_hours_advance+n_hours_window):
elec_and_weather['DEMAND_t-%i'% k] = np.zeros(len(elec_and_weather['DEMAND']))'
Винаги получавам тази грешка
for i in range(0,24):
File "<ipython-input-29-db3022a769d1>", line 1
for i in range(0,24):
^
SyntaxError: unexpected EOF while parsing
File "<ipython-input-25-df0a44131c36>", line 1
for k in range(n_hours_advance,n_hours_advance+n_hours_window):
^
SyntaxError: unexpected EOF while parsing
Съобщението SyntaxError: unexpected EOF while parsing
означава, че краят на изходния код е достигнат, преди да бъдат завършени всички блокове код. Блокът от код започва с изявление като for i in range(100):
и изисква поне един ред след това, който съдържа кода, който трябва да бъде в него.
Изглежда, че сте изпълнявали програмата си ред по ред в конзолата на ipython. Това работи за единични изречения като a = 3
, но не и за блокове от код като for цикли. Вижте следния пример:
In [1]: for i in range(100):
File "<ipython-input-1-ece1e5c2587f>", line 1
for i in range(100):
^
SyntaxError: unexpected EOF while parsing
За да избегнете тази грешка, трябва да въведете целия блок от код като единичен вход:
In [2]: for i in range(5):
...: print(i, end=', ')
0, 1, 2, 3, 4,
Грешката ми в синтаксиса беше полускрита в символен низ f
print(f'num_flex_rows = {self.}\nFlex Rows = {flex_rows}\nMax elements = {max_elements}')
трябва да бъде
print(f'num_flex_rows = {self.num_rows}\nFlex Rows = {flex_rows}\nMax elements = {max_elements}')
Не е имало червения ред за проверка на правописа на PyCharm под грешката.
Той ми даде подсказка, но когато потърсих по това съобщение за грешка, то, разбира се, не намери грешката в тази част от кода по-горе.
Ако бях погледнал по-внимателно съобщението за грешка, щях да открия '
self.)
не доведе до нищо. Търсене за
self.
даде практически всичко :-\
Ако успея да ви помогна да избегнете дори минута по-дълъг deskchecking на вашия код, тогава мисията е изпълнена :-)
C:\Python\Anaconda3\python.exe C:/Python/PycharmProjects/FlexForms/FlexForm.py Файл "
", линия 1 (self.) ^ SyntaxError: unexpected EOF while parsing Процесът завърши с код за изход 1
Ето една от моите грешки, която доведе до това изключение: Имах блок try
без никакви блокове except
или finally
. Това няма да работи:
try:
lets_do_something_beneficial()
За да поправите това, добавете блок except
или finally
:
try:
lets_do_something_beneficial()
finally:
lets_go_to_sleep()