SyntaxError: unexpected EOF while parsing

SyntaxError: unexpected EOF while parsing

我在 运行 这部分代码时遇到错误。我尝试了一些现有的解决方案,但 none 有帮助。

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 拼写检查红线。

确实给了我一个线索,但是当我搜索这个错误信息时,当然没有找到上面那段代码的错误。

如果我更仔细地查看错误消息,我就会在错误中找到“”。看到第 1 行令人沮丧,因此没有密切关注 :-( 搜索

self.)

一无所获。正在搜索

self.

几乎产生了一切:-\

如果我能帮助您避免多花一分钟桌面检查您的代码,那么任务就完成了:-)

C:\Python\Anaconda3\python.exe C:/Python/PycharmProjects/FlexForms/FlexForm.py File "", line 1 (self.) ^ SyntaxError: unexpected EOF while parsing

Process finished with exit code 1

这是我造成此异常的错误之一:我有一个 try 块,但没有任何 exceptfinally 块。这行不通:

try:
    lets_do_something_beneficial()

要解决此问题,请添加 exceptfinally 块:

try:
    lets_do_something_beneficial()
finally:
    lets_go_to_sleep()

elec_and_weather['DEMAND_t-%i'% k] = np.zeros(len(elec_and_weather['DEMAND']))'

错误出现在带有 (') 符号的行的末尾;此错误始终意味着您有语法错误。

这也可能意味着您缺少括号或括号太多。例如这个有太多了,会导致意想不到的 EOF:

print(9, not (a==7 and b==6)

有一些情况会导致这个问题,如果它发生在代码的中间,它将是“IndentationError: expected an indented block”或“SyntaxError: invalid syntax”,如果它在最后一行它可能会出现“SyntaxError: unexpected EOF while parsing”:

缺少“if”、“while”和“for”语句的主体-->

root@nest:~/workplace# cat test.py
l = [1,2,3]
for i in l:
root@nest:~/workplace# python3 test.py
  File "test.py", line 3

               ^
SyntaxError: unexpected EOF while parsing

未闭合的括号(尤其是在复杂的嵌套状态下)-->

root@nest:~/workplace# cat test.py
l = [1,2,3]
print( l
root@nest:~/workplace# python3 test.py
  File "test.py", line 3

            ^
SyntaxError: unexpected EOF while parsing

我在尝试 eval 一个空字符串时遇到了这个错误。 例如:

query = eval(req.body)

我改用 json.loads(),错误消失了。

有时是因为忘记在 try/except 语句中添加 Except。