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


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

[Python-de] Re: Funktion ueberschreiben?

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From Mike Müller <mmueller@python-academy.de>
Newsgroups de.comp.lang.python
Subject [Python-de] Re: Funktion ueberschreiben?
Date Sat, 3 Dec 2022 13:49:50 +0100
Organization Python Academy GmbH & Co. KG
Lines 37
Message-ID <497687b4-8400-8d71-bd97-d12bcfca7879@python-academy.de> (permalink)
References <tmf1b2$9jn$1@news2.informatik.uni-stuttgart.de> <f7a2f3e9-9848-9f5e-5761-efb0b41bb181@python-academy.de> <patching-20221203105111@ram.dialup.fu-berlin.de>
Reply-To mmueller@python-academy.de
Mime-Version 1.0
Content-Type text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding 8bit
X-Trace news.uni-berlin.de V3kWDZP+duN0dK22zUu4gAvqfpu4cauPuAqxKZaWcDyw==
Authentication-Results mail.python.org; dkim=pass reason="2048-bit key; unprotected key" header.d=python-academy.de header.i=@python-academy.de header.b=avBGLfew; dkim-adsp=pass; dkim-atps=neutral
DKIM-Signature v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=python-academy.de; s=default2205; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:From:References:To:Subject:Reply-To:MIME-Version:Date:Message-ID: Sender:Cc:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=a4hI2bOb9ys16UQZJGf8kmMMndnb+SetyUSdmhVJACo=; b=avBGLfewmYvxHh+SvKeVHPOkKT SYzsi3FlMrrltUeccC2Y66AfM9fUrHAjnP3vcTZq/Jh2Je8nxHouiGaGJdFijgRAuvvdaUZqw5PxQ 1THQkSTUUjMhp0aJ3WPm8Ek+IWtgY7DiXKEldhv0HFcBcimbKghBSXrsvuiF7yTlouqFC+ntRWoGo 6190MOo7YWjg7pmt6WsJWfvssiM0dISScSOeu+xC3D/vm1m30xCr398Yafyg+lbSdJFDxGHF0lsMh gQSm4sYwoTs419QUvPwAn1POV8dqHAsVfNScWARw+vt2/Z2LEnAxONAHsVsXvIDvzYo2f+X+Za8mT XD2VTVZw==;
User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.5.0
Content-Language de-DE
In-Reply-To <patching-20221203105111@ram.dialup.fu-berlin.de>
X-Authenticated-Sender mmueller@python-academy.de
X-Virus-Scanned Clear (ClamAV 0.103.7/26739/Sat Dec 3 09:16:53 2022)
Message-ID-Hash YFLT7LM3OW3QTSKYUUSGRBSE3Q4ZBLOV
X-Message-ID-Hash YFLT7LM3OW3QTSKYUUSGRBSE3Q4ZBLOV
X-MailFrom mmueller@python-academy.de
X-Mailman-Rule-Misses dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-python-de.python.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version 3.3.7
Precedence list
List-Id Die Deutsche Python Mailingliste <python-de.python.org>
Archived-At <https://mail.python.org/archives/list/python-de@python.org/message/YFLT7LM3OW3QTSKYUUSGRBSE3Q4ZBLOV/>
List-Archive <https://mail.python.org/archives/list/python-de@python.org/>
List-Help <mailto:python-de-request@python.org?subject=help>
List-Owner <mailto:python-de-owner@python.org>
List-Post <mailto:python-de@python.org>
List-Subscribe <mailto:python-de-join@python.org>
List-Unsubscribe <mailto:python-de-leave@python.org>
Xref csiph.com de.comp.lang.python:5892

Show key headers only | View raw


Am 03.12.22 um 10:53 schrieb Stefan Ram:
> =?UTF-8?Q?Mike_M=c3=bcller?= <mmueller@python-academy.de> writes:
>> import duplicity.dup_time
>> def timetopretty(timeinseconds):
>>      """Return pretty version of time"""
>>      return time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(timeinseconds))
>> duplicity.dup_time.timetopretty = timetopretty
>> ganz zu Beginn des Programms sollte funktionieren. Wichtig ist, dass
>> duplicity.dup_time nicht schon vorher importiert wird. Sonst müsstest du es
>> vorher aus sys.modules entfernen.
> 
>    Diese Einschränkung verstehe ich nicht ganz. Ich dachte, daß sich
>    das "monkey patching" ab dem Zeitpunkt seiner Ausführung auswirkt.
>    In Deinem Beispiel wird doch auch "schon vorher importiert", also
>    als erstes importiert, dann gepatcht, und ab da wirkt es. Vergleiche:

Du hast Recht. Diese Einschränkung bezieht sich nur auf das Ändern des
Quelltext in einem Modul und einen folgenden Neu-Import der Datei im laufenden
Prozess. Da du dem Namen eine neue Funktion zuweist, müsste es ab diesem
Zeitpunkt überall im Programm wirksam sein. Das mit dem Löschen aus
sys.modules ist nur beim Entwickeln z.B. in Notebooks wichtig, wenn man den
Code in einem Modul ändert und dann neu importiert ohne das Notebook neu zu
starten.

> import tkinter.messagebox
> tkinter.messagebox.showinfo( "arg", "arg1" )
> tkinter.messagebox.showinfo = print
> tkinter.messagebox.showinfo( "arg", "arg1"  )
> 
>    .
> 
> _______________________________________________
> python-de Mailingliste -- python-de@python.org
> Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an python-de-leave@python.org
> https://mail.python.org/mailman3/lists/python-de.python.org/
> Mitgliedsadresse: mmueller@python-academy.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