Dateinamen in Unix dürfen [a-z] [A-Z] das Underscore ,den Punkt den Bindestrich enthalten.
Und dürfen länger als 8 Buchstaben sein.
Dateiname wie Erst.Dies.dann.Das.text wären legal.
Ich hab jetzt 1 Projekt bearbeitet, da kamen Importfunktionen vor.
Für mich als Pythonanfänger sind Importfunktionen (auch) benutzerdefinierte Funktionen, die in einer anderen Datei stehen und vom Python-Interpreter mit dem Schlüsselwort import
gelesen werden
Ich habe eine Funktion, die ich in der Datei eins.zwei.py abspeichern.
Wenn ich diese Datei vom Hauptprogramm aurufen lasse mit
import eins.zwei
dann kommt der Interpreter durcheinander. es wird nicht die gewünschte Funktion ( die in eins.zwei.py steht ) aufgerufen, sondern eine andere Funktion.
Ich kann das nur verhindern, indem ich den Dateinamen anders wähle.
eins_zwei.py
dann sage ich import eins_zwei
und es funktioniert.
Der Punkt in einem Dateinamen dient zum Aufruf.
Dateinamen dürfen keine Punkte enthalten.
Sehe ich das richtig?
Grüße Fritz
------------------------------
Der Interpreter legt beim ersten Durchlauf eine datei.pyc an.
Dient die Datei datei.pyc dazu, ein schnelleres Laden beim 2. mal zu ermöglichen?
ich hab mich schon öfter gewundert, wie schnell in Python script-files von 100 bis 200 k geladen werden.
Sehe ich das auch richtig?
Funktionsaufrufe externe Dateien.
Das ist ja eher eine Frage, die in den allgemeinen Bereich gehört.
Modulnamen (Module sind Python-Dateien die du iportierst) haben AFAIK die gleichen Vorschriften wie Bezeichner. Keine Zahl am Anfang, nur Unterstriche und a-zA-Z sind erlaubt. Dazu kommst noch die Erweiterung .py, .pyc, .pyo oder was es sonst noch gibt.
Warum brichst du deine Beiträge eigentlich so komisch um?
Modulnamen (Module sind Python-Dateien die du iportierst) haben AFAIK die gleichen Vorschriften wie Bezeichner. Keine Zahl am Anfang, nur Unterstriche und a-zA-Z sind erlaubt. Dazu kommst noch die Erweiterung .py, .pyc, .pyo oder was es sonst noch gibt.
Warum brichst du deine Beiträge eigentlich so komisch um?
Jap.3ff hat geschrieben:Dient die Datei datei.pyc dazu, ein schnelleres Laden beim 2. mal zu ermöglichen?
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Eigentlich dürfen sie bis auf das Nullbyte und den Slash alle Zeichen enthalten.3ff hat geschrieben:Dateinamen in Unix dürfen [a-z] [A-Z] das Underscore ,den Punkt den Bindestrich enthalten.
Was du meinst sind Module und Module sind keine benutzerdefinierten Funktionen sondern eher Namensräume. Und die Müssen sich auch an die Bezeichnerregeln von Python halten, sonst können sie nicht (ohne weiteres) mit ``import`` geladen werden.3ff hat geschrieben:Ich hab jetzt 1 Projekt bearbeitet, da kamen Importfunktionen vor.
Für mich als Pythonanfänger sind Importfunktionen (auch) benutzerdefinierte Funktionen, die in einer anderen Datei stehen und vom Python-Interpreter mit dem Schlüsselwort import
gelesen werden
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Der Aufruf bewirkt, dass der Interpreter nach einem Paket mit dem Namen 'eins' und in diesem Paket nach
einem Modul (oder weiterem Paket) mit dem Namen 'zwei' sucht, da wahrscheinlich nichtmal das Paket 'eins' existiert kommt es zu einem Fehler.
Code: Alles auswählen
import eins.zwei
einem Modul (oder weiterem Paket) mit dem Namen 'zwei' sucht, da wahrscheinlich nichtmal das Paket 'eins' existiert kommt es zu einem Fehler.
Wo ist das Problem? Ein gültiger Modulname muss ein gültiger Dateiname sein, aber nicht jeder gültige Dateiname ist ein gültiger Modulname. Ein gültiger Modulname muss eben auch den Regeln für Python-Bezeichner genügen, also mit einem Buchstaben oder _ beginnen und danach nur aus Buchstaben und Ziffern oder _ bestehen.
Stefan
Stefan