Wie kann ich den Ort des importierten Moduls einfach finden?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Gast

Mittwoch 5. Oktober 2005, 12:50

Hallo Zusammen,

ich möchte gerne das absolute Verzeichnis von bestimmt importieren Modulen haben. Das muss gehen!

Z.B. help(einmodul) zeigt das Verzeichnis, wo das Modul namens einmodul liegt. aber wie kann man einfach den String bekommen, besser nicht durch help(einmodul) :(

Danke im voraus!

MfG
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

Mittwoch 5. Oktober 2005, 13:21

Anonymous hat geschrieben:Hallo Zusammen,

ich möchte gerne das absolute Verzeichnis von bestimmt importieren Modulen haben. Das muss gehen!

Z.B. help(einmodul) zeigt das Verzeichnis, wo das Modul namens einmodul liegt. aber wie kann man einfach den String bekommen, besser nicht durch help(einmodul) :(

Danke im voraus!

MfG
Habe jetzt ein bisschen rumprobiert ;)

>>> import os
>>> os
<module 'os' from 'C:\Python24\lib\os.pyc'>

das gleiche ohne importieren:
>>> inspect.getmodule(os)
<module 'os' from 'C:\Python24\lib\os.pyc'>

muesste man nurmehr path+filename heraussuchen.
Gast

Mittwoch 5. Oktober 2005, 13:25

hi Francesco,

danke dir.

Zusammenfassung:

import inspect
import os
inspect(os)
====><module 'os' from 'C:\Programme\Python241\lib\os.pyc'>

MfG
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

Mittwoch 5. Oktober 2005, 13:45

Anonymous hat geschrieben:hi Francesco,

danke dir.

Zusammenfassung:

import inspect
import os
inspect(os)
====><module 'os' from 'C:\Programme\Python241\lib\os.pyc'>

MfG
Bitte,
muesste noch einfacher gehen:

import re
inspect.getfile(re)
'C:\\Python24\\lib\\re.pyc'
aber:
da muesste man die exception abfangen, da sys ein internes
module ist:
inspect.getfile(sys)
Traceback (most recent call last):
File "<input>", line 1, in ?
File "C:\Python24\lib\inspect.py", line 312, in getfile
raise TypeError('arg is a built-in module')
TypeError: arg is a built-in module
Benutzeravatar
jens
Moderator
Beiträge: 8482
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Mittwoch 5. Oktober 2005, 14:20

Warum nicht einfach so:

Code: Alles auswählen

import os
print os.__file__

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

Mittwoch 5. Oktober 2005, 14:31

jens hat geschrieben:Warum nicht einfach so:

Code: Alles auswählen

import os
print os.__file__
Ui, ja 8)

Warum einfach, wenn es auch kompliziert geht? :lol:
Antworten