Plaats een reactie

Je mail wordt niet openbaar getoond. Het wordt enkel gebruik voor contact of notificatie vanuit het beheer.

🗨️ Wat vind jij? Stel direct je vraag of geef je mening – zonder registratie. Je reactie zet het topic weer bovenaan bij 'Laatste posts' en trekt snel nieuwe reacties aan🔥. Mocht je als vaste bezoeker willen reageren, dan kun je je ook registreren.

Bevestig dat je geen robot bent door de volgende vragen te beantwoorden.

Noor heeft 10 knikkers. Ze verliest er 4 in het gras. Hoeveel heeft ze er nog?

Antwoord: (vul een getal in)

Er zitten 5 vogels op een hek. Twee vliegen weg. Hoeveel blijven er zitten?

Antwoord: (vul een getal in)

Weergave uitklappen Voorafgaande berichten: Python bestand vanaf je computer inlezen

Re: Python bestand vanaf je computer inlezen

door OOOVincentOOO » za 30 nov 2024, 17:20

Jammer dat de TS niet meer geageerd. Wil deze niet gewoon een print("Hello World") bestand *.py uitvoeren? Dat is wat ik thans begrijp uit opening post, niet zozeer *.py code bestand uit te voeren in Python code.

Re: Python bestand vanaf je computer inlezen

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..

Re: Python bestand vanaf je computer inlezen

door Xilvo » 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.

Re: Python bestand vanaf je computer inlezen

door Gast » di 26 nov 2024, 15:25

mp419a schreef: ma 25 nov 2024, 23:35 exec(open("C\:\Users\mark_\Documents\Python\FirstApp.py").read())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 3-4: truncated \UXXXXXXXX escape
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.

Re: Python bestand vanaf je computer inlezen

door Xilvo » di 26 nov 2024, 12:21

Gast schreef: di 26 nov 2024, 12:15 De topic starter is bezig met het leren van Python, het kan gewoon een oefening zijn die laat zien wat er allemaal mogelijk is, dat kan wat omslachtig zijn, maar daar gaat het dan niet om.
Dat kan, en dat kan zeker een aardige oefening zijn. Ik vraag me alleen af waarom precies een bestand met pythoncode is gekozen om mee te oefenen.
Maar alleen TS kan antwoord geven op de vraag wat het doel van de oefening is.

Re: Python bestand vanaf je computer inlezen

door Gast » di 26 nov 2024, 12:15

Zowel importeren als module als het openen als tekstbestand zijn beide iets heel anders dan het runnen van de python code zelf.

De topic starter is bezig met het leren van Python, het kan gewoon een oefening zijn die laat zien wat er allemaal mogelijk is, dat kan wat omslachtig zijn, maar daar gaat het dan niet om.

Re: Python bestand vanaf je computer inlezen

door Xilvo » di 26 nov 2024, 10:54

CoenCo schreef: di 26 nov 2024, 10:18 Dat klinkt wel als een hele omweg.
Ervan uitgaande dat je 2 python bestanden hebt die in dezelfde folder staan, en vanuit het ene bestand het andere wilt aanroepen, kan dat ook met een import

Code: Selecteer alles

import FirstApp
Het zou me niet verbazen als dat de bedoeling is. Maar een python module importeren is natuurlijk heel iets anders dan het als tekstbestand openen. Als dat laatste de bedoeling is, waarom zou de topic starter dat dan willen?

Re: Python bestand vanaf je computer inlezen

door CoenCo » di 26 nov 2024, 10:18

Dat klinkt wel als een hele omweg.
Ervan uitgaande dat je 2 python bestanden hebt die in dezelfde folder staan, en vanuit het ene bestand het andere wilt aanroepen, kan dat ook met een import

Code: Selecteer alles

import FirstApp

Re: Python bestand vanaf je computer inlezen

door Gast » di 26 nov 2024, 00:32

De vraag is ook even wat voor editor je gebruikt? Misschien is de default om het bestand als unicode op te slaan. Dan zou ik eens kijken of je de default kan veranderen of je kan naar een andere editor gaan.

Voor hele simpele dingen is notepad++ prima. Als het ingewikkelder wordt kan je spyder gebruiken, en als je echt serieus wilt ontwikkelen vind ik pycharm het beste.

Re: Python bestand vanaf je computer inlezen

door Gast » di 26 nov 2024, 00:13

Ok, het lijkt erop dat het bestand firstApp.py in unicode is gecodeerd ipv plain text, probeer dit eens (ook meer python-esk en leesbaarder):

Code: Selecteer alles

with open('FirstApp.py', 'r', encoding='utf-8') as f:
	exec(f.read())

Python bestand vanaf je computer inlezen

door mp419a » ma 25 nov 2024, 23:35

Hi ik wil me graag ontwikkelen in Python maar ik loop keer op keer tegen hele simpele dingen aan die onwijs vertragend zijn en frustrerend zijn omdat ze niet lukken. Simpele dingen die volgens een boek moeten werken, maar die dat dus niet doen.

Ik wil een geschreven code die ik in een bestand heb staan direct in Python inlezen. In Python voer ik in:

exec(open("C\:\Users\mark_\Documents\Python\FirstApp.py").read())

en de melding die ik terug krijg is:

exec(open("C\:\Users\mark_\Documents\Python\FirstApp.py").read())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 3-4: truncated \UXXXXXXXX escape

Dus heel simpel:

het bestand FirstApp moet ingelezen worden in Python. Wat moet ik intypen om dit te kunnen? En kan iemand mij, alsjeblieft, vertellen welk boek ik moet aanschaffen om dit soort dingen duidelijk uitgelegd te krijgen. Het is zo frustrerend dat software boeken zo vaak onduidelijk zijn.