Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.python > #5906

Re: [Python-de] Re: Funktion ueberschreiben?

From Ulli Horlacher <framstag@rus.uni-stuttgart.de>
Newsgroups de.comp.lang.python
Subject Re: [Python-de] Re: Funktion ueberschreiben?
Date 2022-12-04 14:41 +0000
Organization University of Stuttgart, FRG
Message-ID <tmibi1$be9$1@news2.informatik.uni-stuttgart.de> (permalink)
References (5 earlier) <slrntonpdo.13t6p.hjp-usenet3@trintignant.hjp.at> <tmhr2q$b5c$1@news2.informatik.uni-stuttgart.de> <slrntop5ri.15dl6.hjp-usenet3@trintignant.hjp.at> <tmi67a$bbs$1@news2.informatik.uni-stuttgart.de> <slrntop96d.15lbp.hjp-usenet3@trintignant.hjp.at>

Show all headers | View raw


Peter J. Holzer <hjp-usenet3@hjp.at> wrote:

>> Genau das reicht doch: es soll meine modifizierte time Library gefunden
>> und dann zur Laufzeit geladen werden.
> 
> Vielleicht, aber das war nicht Deine Frage.

Meine Frage war mehrteilig, inklusive der nach Alternativloesungen :-)


>> In Perl kann man folgendes machen: Ein Modul laden und danach nur eine
>> Funktion nachtraeglich ersetzen. Geht so was auch mit Python?
> 
> Ja, wurde ja schon erklärt.

Nicht konkret genug. 

Im duplicity source code steht an mehreren Stellen:

from duplicity import dup_time


Angenommen mein modifiziertes dup_time.py liegt in
/opt/duply/lib/dup_time.py

Was muss dann in $PYTHONPATH stehen, damit das geladen wird.
Und was muss ich in /opt/duply/lib/dup_time.py schreiben um
/usr/lib/python3/dist-packages/duplicity/dup_time.py
zu laden?



> (Was für mich auch eher schleierhaft macht. wie du da ein Wrapper-Script
> unterbringen willst

Trivial: das steht irgendwo in $PATH weiter vorne.
So was hab ich schon oft gemacht bei anderen Sprachen.



> Wenn Du ein *anderes* Script aufrufen kannst, ist es wahrscheinlich am
> einfachsten, das Originalscript mittels exec aufzurufen:
> 
> % cat foo
> #!/usr/bin/python3
> 
> import time
> 
> timeinseconds = time.time()
> print(time.asctime(time.localtime(timeinseconds)))
> % ./foo
> Sun Dec  4 14:39:06 2022
> % cat foo_wrapper
> #!/usr/bin/python3
> 
> import time
> 
> def my_asctime(tm):
>     return "Gotcha!"
> 
> time.asctime = my_asctime
> 
> with open("foo") as f:
>     code = f.read()
>     exec(code)
> % ./foo_wrapper
> Gotcha!

"foo" waere dann "/usr/bin/duplicity" ?
Aber da steht doch drin:
import time
was mir meine grad modifizierte time.asctime() Funktion wieder ueberschreibt?


>>> 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.
> 
> Was mich wieder zu der Frage zurückführt, wie Du da ein Wrapper-Script
> installieren willst.

$HOME/bin, /var/tmp/bin, etc


-- 
Ullrich Horlacher              Server und Virtualisierung
Rechenzentrum TIK         
Universitaet Stuttgart         E-Mail: horlacher@tik.uni-stuttgart.de
Allmandring 30a                Tel:    ++49-711-68565868
70569 Stuttgart (Germany)      WWW:    http://www.tik.uni-stuttgart.de/

Back to de.comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Funktion ueberschreiben? Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2022-12-03 08:28 +0000
  [Python-de] Re: Funktion ueberschreiben? Mike Müller <mmueller@python-academy.de> - 2022-12-03 10:00 +0100
    [Python-de] Re: Funktion ueberschreiben? Mike Müller <mmueller@python-academy.de> - 2022-12-03 13:49 +0100
    Re: [Python-de] Re: Funktion ueberschreiben? "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2022-12-03 14:27 +0100
    Re: [Python-de] Re: Funktion ueberschreiben? Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2022-12-03 15:46 +0000
      [Python-de] Re: Funktion ueberschreiben? Christopher Arndt <chris@chrisarndt.de> - 2022-12-03 16:57 +0100
        Re: [Python-de] Re: Funktion ueberschreiben? Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2022-12-03 16:56 +0000
          Re: [Python-de] Re: Funktion ueberschreiben? "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2022-12-04 01:11 +0100
            Re: [Python-de] Re: Funktion ueberschreiben? Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2022-12-04 09:59 +0000
              Re: [Python-de] Re: Funktion ueberschreiben? "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2022-12-04 13:49 +0100
                Re: [Python-de] Re: Funktion ueberschreiben? "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2022-12-04 14:06 +0100
                Re: [Python-de] Re: Funktion ueberschreiben? Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2022-12-04 13:10 +0000
                Re: [Python-de] Re: Funktion ueberschreiben? "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2022-12-04 14:46 +0100
                Re: [Python-de] Re: Funktion ueberschreiben? Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2022-12-04 14:41 +0000
                Re: [Python-de] Re: Funktion ueberschreiben? "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2022-12-04 22:07 +0100
                Re: [Python-de] Re: Funktion ueberschreiben? Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2022-12-05 08:07 +0000
                Re: [Python-de] Re: Funktion ueberschreiben? Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2022-12-05 08:24 +0000
      Re: [Python-de] Re: Funktion ueberschreiben? "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2022-12-05 08:59 +0000

csiph-web