Ik krijg een foutmelding bij het uitvoeren van dit deel van de code. Ik heb enkele van de bestaande oplossingen geprobeerd, maar geen enkele hielp.
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']))'
Ik krijg altijd deze foutmelding:
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
Antwoord 1, autoriteit 100%
De SyntaxError: unexpected EOF while parsing
betekent dat het einde van je broncode werd bereikt voordat alle codeblokken waren voltooid. Een codeblok begint met een statement als for i in range(100):
en vereist daarna minstens één regel die code bevat die erin zou moeten staan.
Het lijkt alsof u uw programma regel voor regel in de ipython-console uitvoert. Dit werkt voor enkelvoudige instructies zoals a = 3
maar niet voor codeblokken zoals for-lussen. Zie het volgende voorbeeld:
In [1]: for i in range(100):
File "<ipython-input-1-ece1e5c2587f>", line 1
for i in range(100):
^
SyntaxError: unexpected EOF while parsing
Om deze fout te voorkomen, moet u het hele codeblok als een enkele invoer invoeren:
In [2]: for i in range(5):
...: print(i, end=', ')
0, 1, 2, 3, 4,
Antwoord 2, autoriteit 67%
Dit kan ook betekenen dat je haakjes mist of te veel haakjes hebt. Dit heeft bijvoorbeeld te veel, en zal resulteren in onverwachte EOF
:
print(9, not (a==7 and b==6)
Antwoord 3, autoriteit 11%
Mijn syntaxisfout was half verborgen in een f-string
print(f'num_flex_rows = {self.}\nFlex Rows = {flex_rows}\nMax elements = {max_elements}')
zou moeten zijn
print(f'num_flex_rows = {self.num_rows}\nFlex Rows = {flex_rows}\nMax elements = {max_elements}')
Het had niet de PyCharm spellingcontrole-rode regel onder de fout.
Het gaf me wel een idee, maar toen ik naar deze foutmelding zocht, vond ik de fout natuurlijk niet in dat stukje code hierboven.
Als ik de foutmelding beter had bekeken, had ik de ” in de foutmelding gevonden. Lijn 1 zien was ontmoedigend en lette dus niet goed op 🙁 Zoeken naar
zelf.)
leverde niets op. Zoeken naar
zelf.
heeft praktisch alles opgeleverd :-\
Als ik je kan helpen om zelfs maar een minuut langer te hoeven controleren van je code, dan is je missie geslaagd 🙂
C:\Python\Anaconda3\python.exe
C:/Python/PycharmProjects/FlexForms/FlexForm.py-bestand “”,
regel 1
(mijzelf.)
^ SyntaxError: onverwachte EOF tijdens het ontledenProces voltooid met afsluitcode 1
Antwoord 4, autoriteit 8%
Dit is een van mijn fouten die deze uitzondering veroorzaakte: ik had een try
-blok zonder except
of finally
-blokken. Dit werkt niet:
try:
lets_do_something_beneficial()
Om dit op te lossen, voegt u een except
of finally
toe:
try:
lets_do_something_beneficial()
finally:
lets_go_to_sleep()
Antwoord 5, autoriteit 3%
Er zijn enkele gevallen die tot dit probleem kunnen leiden, als het zich in het midden van de code voordoet, is het "IndentationError: Expected a indented block" of “SyntaxError: ongeldige syntaxis”, als het op de laatste regel staat, kan het “SyntaxError: onverwachte EOF tijdens het ontleden”:
Het hoofdgedeelte van “if”, “terwijl” en “voor” ontbreekt verklaring –>
[email protected]:~/workplace# cat test.py
l = [1,2,3]
for i in l:
[email protected]:~/workplace# python3 test.py
File "test.py", line 3
^
SyntaxError: unexpected EOF while parsing
Niet-gesloten haakjes (vooral in complexe geneste toestanden)–>
[email protected]:~/workplace# cat test.py
l = [1,2,3]
print( l
[email protected]:~/workplace# python3 test.py
File "test.py", line 3
^
SyntaxError: unexpected EOF while parsing
Antwoord 6, autoriteit 2%
Ik ben deze fout tegengekomen bij het eval
van een lege string.
bijvoorbeeld:
query = eval(req.body)
Ik heb in plaats daarvan json.loads()
gebruikt en de fout was verdwenen.
Antwoord 7
elec_and_weather['DEMAND_t-%i'% k] = np.zeros(len(elec_and_weather['DEMAND']))'
De fout komt aan het einde van de regel waar het teken (‘) staat; deze fout betekent altijd dat je een syntaxisfout hebt.