Hi,
ich versuche Python, unter Linux, bekannt geben kann in welchen Ordnern er nach
modulen suchen soll.
Ich hab schon mit der SuFu versucht ihr im Forum was zu finden, gegoogelt und zig
Dateien durchgeguckt aber ich hab einfach nichts gefunden.
Hoffe Ihr könnt mir helfen
mfg
annihilation
Linux eigene Module importieren?
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
Hi annihilation,
in einem Pythonscript kannst Du einen Pfad zum Suchpfad für Module folgendermassen hinzufügen.
Gruß
Dookie
in einem Pythonscript kannst Du einen Pfad zum Suchpfad für Module folgendermassen hinzufügen.
Code: Alles auswählen
sys.path.append("/pfad/zu/deinen/pythonmodulen")
Gruß
Dookie
[code]#!/usr/bin/env python
import this[/code]
import this[/code]
-
- User
- Beiträge: 6
- Registriert: Sonntag 26. September 2004, 22:37
Hi,
erstmal danke für Deine schnelle Hilfe. Nur hab ich leider immernoch ein kleines Problem
wenn ich
eingebe dann kommt immer diese Fehlermeldung.
Hoffe meine Frage sind nicht zu dämlich .
mfg
annihilation
erstmal danke für Deine schnelle Hilfe. Nur hab ich leider immernoch ein kleines Problem
wenn ich
Code: Alles auswählen
sys.path.append("/home/username/Python/libs/")
Code: Alles auswählen
Traceback (most recent call last):
File "<stdin>", line 1, in ?
NameError: name 'sys' is not defined
mfg
annihilation
-
- Python-Forum Veteran
- Beiträge: 1209
- Registriert: Montag 29. September 2003, 17:18
- Wohnort: Purkersdorf (bei Wien [Austria])
Hi!
Du musst erst das Modul sys importieren. Schreib am Anfang deines Scripts einfach
Gruß, mawe
Du musst erst das Modul sys importieren. Schreib am Anfang deines Scripts einfach
Code: Alles auswählen
import sys
-
- User
- Beiträge: 6
- Registriert: Sonntag 26. September 2004, 22:37
Hi,
danke für die Antwor,. habs grad schon selbst rausgefunden.
Jedoch tat sich da bei mir gleich die nächste Frage auf
wo ist der Unterschied zwischen
from sys import *
import sys
Also für mich ist zwischen den beiden ausdrücken vom Sinn her kein Unterschied.
könnte mir das bitte nochmal jemand erleutern?
mfg
annihilation
danke für die Antwor,. habs grad schon selbst rausgefunden.

Jedoch tat sich da bei mir gleich die nächste Frage auf

from sys import *
import sys
Also für mich ist zwischen den beiden ausdrücken vom Sinn her kein Unterschied.
könnte mir das bitte nochmal jemand erleutern?
mfg
annihilation
Bei import sys musst du den Modulnamen immer dazuschreiben:
wenn Du aber from sys import * schreibt, musst Du den Modulnamen nicht mehr schreiben:
Code: Alles auswählen
sys.path.append("/home/username/Python/libs/")
Code: Alles auswählen
path.append("/home/username/Python/libs/")
-
- User
- Beiträge: 6
- Registriert: Sonntag 26. September 2004, 22:37
Achso ok besten dank für die Antwort
Stimmt SuFu hätte warscheinlich geholfen
war aber grad zu faul
mfg
annihilation
Stimmt SuFu hätte warscheinlich geholfen
war aber grad zu faul

mfg
annihilation
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
Die verwendung von import sys hat noch einen Vorteil.
Da auch in os ein Objekt (Modul) mit dem name path existiert kommt der Fehler. Du kannst also nicht mehr auf path aus sys zugreifen. Ich verwende, bei kurzen Modulnamen immer die Form import modul oder from modul import objekt1, objekt2, ... So ist dann auch weiter unten im Code klar, was bei z.B. sys.paht gemeint ist.
Gruß
Dookie
Code: Alles auswählen
from sys import *
from os import *
path.append("/home/username/Python/libs/") # !!! Fehler
Gruß
Dookie
[code]#!/usr/bin/env python
import this[/code]
import this[/code]
-
- User
- Beiträge: 53
- Registriert: Dienstag 6. April 2004, 10:33
ich bevorzuge generell import gegenüber from x import *
Insbesondere bei mehreren APIs hält es den Code übersichtlicher und leichter wartbar. Außerdem verschmutzt es den eigenen Namensraum nicht.
Insbesondere bei mehreren APIs hält es den Code übersichtlicher und leichter wartbar. Außerdem verschmutzt es den eigenen Namensraum nicht.