mikrocontroller.net

Forum: PC-Programmierung Eigenwilliges Python Sript


Autor: Philipp S. (nokia9300i)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Wie es aussieht habe ich ein sehr eigenwilliges Python Skript 
geschrieben:

Unter Windows kann man ja festlegen, mit welchem Programm welche Datei 
eines bestimmten Typs geöffnet werden soll. Für .py Dateien war das bei 
mir bis jetzt die Thonny IDE. Als ich nun das Skript mit Python 
ausführen wollte, habe ich auf die Datei geklickt, das Kontextmenü 
geöffnet, ging auf "öffnen mit" und wählte dann Python aus. Als ich das 
"Programm" dann ausführte stürzte es an einem mir unerklärlichen Punkt 
ab.
Bis jetzt hat diese Vorgehensweise allerdings bei jedem anderen von mir 
geschriebenen Skript funktioniert.

Nun kommt das Interessante:
Wähle ich als Standard-Programm Python aus, und öffne die Datei per 
Doppelklick, funktioniert alles wie gewünscht...

Die Datei trägt den Namen "Vokabeln.py" die Datei "Vokabeln1.txt" muss 
sofern das "Programm" ausgeführt werden will im gleichen Ordner liegen.

Würde mich freuen, wenn es jemand ausprobiert und mir vom Ergebnis 
berichtet, oder mir gar sagen kann, an was das liegt, ich habe Stunden 
damit verschwendet herauszufinden, warum das Programm in der 
Python-Shell nicht funktioniert obwohl ich weder vom Thonny noch von der 
Python-IDE eine Fehlermeldung bekommen habe :-)

Danke vielmals :-)

: Verschoben durch Moderator
Autor: silsi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was bekommst du denn für eine Exception?
Beim kurz drüberschauen ist mir aufgefallen, dass du die Variable "län" 
hast. Ersetze doch bitte mal das ä mit einem Buchstaben im UTF-8.

Autor: Hermann K. (r2d2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
silsi schrieb:
> Beim kurz drüberschauen ist mir aufgefallen, dass du die Variable "län"
> hast. Ersetze doch bitte mal das ä mit einem Buchstaben im UTF-8.

Python 3 kommt damit klar.  https://www.python.org/dev/peps/pep-3131/ 
Die Zeichen sind wohl korrektes Unicode, nur interpretiert der Broswer 
das als Latin-1 (vermutlich weil ein entsprechender Header fehlt).

Autor: Philipp S. (nokia9300i)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
...ich hab die Variable "län" mittlerweile durch "laen" ersetzt, 
allerdings hat das nix geändert.

Exception bekomme ich von den IDE's keine. Nur wenn ich das Programm mit 
Python ausführe sieht man für den Bruchteil einer Sekunde eine 
Fehlermeldung, diese habe ich per Kamera aufgenommen... Das ist alles 
das ich dazu sagen kann...

Autor: silsi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du mal versucht das Programm aus dem Terminal zu starten? sollte 
mit python Vokabeln.py gehen, wenn du im selben Ordner bist. Ich vermute 
dass bei einem "Doppelklick" Pfad derjenige im der Python liegt gewählt 
wird. Vielleicht kannst du mal versuchen einen absoluten Pfad zu 
verwenden.

Autor: Hermann K. (r2d2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Er findet deine Datei vokabeln.txt nicht. Das hängt damit zusammen, dass 
du davon ausgehst, dass die Datei in deinem aktuellen Arbeitsverzeichnis 
liegt. Diese Annahme ist aber falsch. Je nach Aufruf kann dieses 
Verzeichnis auch ein anderes sein, z.B. das vom Python-Interpreter. 
Entweder du trägst den vollen Pfad ein, oder du suchst dir eine andere 
Lösung. z.B. so:
os.path.join(os.path.dirname(os.path.abspath(__file__)), 'vokabeln.txt')
Vermutlich gehts auch ohne das abspath, aber ich habs vorsichtshalber 
mal rein. Schaden tuts jedenfalls nicht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.