[Python-de] Re: Funktion ueberschreiben?

Ulli Horlacher <[email protected]>
Newsgroups gmane.comp.python.general.german
Organization University of Stuttgart, FRG
Message-ID <[email protected]>
Peter J. Holzer <[email protected]> wrote:

>> Via environment Variable PERLLIB, analog zu LD_LIBRARY_PATH.
> 
> Beides beeinflusst nur, wo Libraries gesucht werden.

Genau das reicht doch: es soll meine modifizierte time Library gefunden
und dann zur Laufzeit geladen werden.


>>> Du kannst natürlich PYTHONPATH setzen.
>>
>> Wir kommen der Sache naeher :-)
>>
>> /usr/lib/python3/dist-packages/duplicity/dup_time.py verwendet 
>>
>> import time
>>
>> Um time.asctime() zu ersetzen muesste ich also die Standard time
>> Bibliothek durch meine ersetzen und da time.asctime() passend umschreiben?
>>
>> Leider finde ich kein time.py, wo versteckt sich das Python time Modul?
>>
> 
> Laut strace löst ein »import time« keinen Filesystem-Zugriff aus, das
> Modul dürfte also wohl im Python-Binary eingebaut sein.

Bloed, dann kann ich es wohl nicht ersetzen.


> Aber time zu ersetzen scheint mir sowieso keine zielführende Taktik zu
> sein. Asctime ist ja nicht die einzige Funktion aus diesem Modul, die
> verwendet wird. Wie ersetzt Du den Rest?

Gar nicht. Die bleibt gleich.
Ich wollte time.py kopieren und da drin nur time.asctime() modifizieren.
Da es das aber gar nicht als eigenes library-file gibt, ist diese Idee nicht
umsetzbar. Sackgasse.


> Wenn Du ein Modul ersetzen willst, dann eher duplicity.dup_time.

Da stecken halt noch viel mehr Funktionen drin. Wenn es nun ein
Ubuntu-Update davon gibt, kann es zu Inkompatibiltaeten kommen.

In Perl kann man folgendes machen:
Ein Modul laden und danach nur eine Funktion nachtraeglich ersetzen.
Geht so was auch mit Python?
Dann wuerde ich das original duplicity.dup_time laden und dann
timetopretty() neu definieren. Kann ich dazu PYTHONPATH verwenden?


> Wenn mich das Datumsformat ausreichend stören würde, würde ich das
> Debian-Paket patchen (ich gehe mal davon aus, dass Du das auf mehr als
> einem System haben willst). Das ist wahrscheinlich am einfachsten und
> saubersten.

Nicht machbar. Die Zielsysteme koennen auch Redhat sein und ich hab da
auch keine root-Rechte.


-- 
Ullrich Horlacher              Server und Virtualisierung
Rechenzentrum TIK         
Universitaet Stuttgart         E-Mail: [email protected]
Allmandring 30a                Tel:    ++49-711-68565868
70569 Stuttgart (Germany)      WWW:    http://www.tik.uni-stuttgart.de/
_______________________________________________
python-de Mailingliste -- [email protected]
Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an [email protected]
https://mail.python.org/mailman3/lists/python-de.python.org/
Mitgliedsadresse: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.