door CoenCo » di 26 nov 2024, 17:41
Xilvo schreef: ↑di 26 nov 2024, 15:38
Gast schreef: ↑di 26 nov 2024, 15:25
En ineens zie ik dat het een andere error is...
In Python kan je aan strings (text tussen quotes) allerlei speciale characters mee geven, zoals '\t' voor een tab, '\n' voor een newline en, hier relevant, '\Uxxx' voor een unicode character. Dus de '\U' in "C\:\Users\..." wordt de '\U' gezien als een speciaal teken dat voor een unicode character moet gaan staan.
Om te voorkomen dat dit gebeurd moet je er een 'raw' string van maken, dat kan gewoon door de letter 'r' ervoor te zetten, dus probeer dit eens:
Code: Selecteer alles
exec(open(r"C:\Users\mark_\Documents\Python\FirstApp.py").read())
Merk ook op dat ik de '\' direct achter 'C' heb weggelaten, omdat die daar ook niet hoort.
Mooi gezien.
Overigens gebruik ik altijd "/" ipv "\" in padnamen onder windows, dat werkt ook. Dan heb je dat probleem niet.
Afgezien daarvan, ik had dat "exec" gemist. Wat ik eerder schreef over het openen van een tekstbestand klopt dus niet.
ik gebruik altijd pathlib, omdat die hele goede functionaliteit heeft voor bestandsnamen, extensies, parent folders en globbing (zodat je geen os meer hoeft te importen)
Code: Selecteer alles
from pathlib import Path
mijnbestand=Path(r"C:\Users\mark_\Documents\Python\FirstApp.py")
with open(mijnbestand, 'rb') as f:
exec(f.read())
ofzo.
Waarbij het "with" statement ervoor zorgt dat het bestand ook weer netjes afgesloten worden, óók als tussentijdse je code crasht..
[quote=Xilvo post_id=1187741 time=1732631937 user_id=79897]
[quote=Gast post_id=1187740 time=1732631156 ]
En ineens zie ik dat het een andere error is...
In Python kan je aan strings (text tussen quotes) allerlei speciale characters mee geven, zoals '\t' voor een tab, '\n' voor een newline en, hier relevant, '\Uxxx' voor een unicode character. Dus de '\U' in "C\:\Users\..." wordt de '\U' gezien als een speciaal teken dat voor een unicode character moet gaan staan.
Om te voorkomen dat dit gebeurd moet je er een 'raw' string van maken, dat kan gewoon door de letter 'r' ervoor te zetten, dus probeer dit eens:
[code]
exec(open(r"C:\Users\mark_\Documents\Python\FirstApp.py").read())
[/code]
Merk ook op dat ik de '\' direct achter 'C' heb weggelaten, omdat die daar ook niet hoort.
[/quote]
Mooi gezien.
Overigens gebruik ik altijd "/" ipv "\" in padnamen onder windows, dat werkt ook. Dan heb je dat probleem niet.
Afgezien daarvan, ik had dat "exec" gemist. Wat ik eerder schreef over het openen van een tekstbestand klopt dus niet.
[/quote]
ik gebruik altijd pathlib, omdat die hele goede functionaliteit heeft voor bestandsnamen, extensies, parent folders en globbing (zodat je geen os meer hoeft te importen)
[code]
from pathlib import Path
mijnbestand=Path(r"C:\Users\mark_\Documents\Python\FirstApp.py")
with open(mijnbestand, 'rb') as f:
exec(f.read())
[/code]
ofzo.
Waarbij het "with" statement ervoor zorgt dat het bestand ook weer netjes afgesloten worden, óók als tussentijdse je code crasht..