Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Hermann Riemann Newsgroups: de.comp.lang.python Subject: import Problem Date: Fri, 28 Apr 2017 07:55:24 +0200 Lines: 49 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: individual.net A8GzZxNlX7Y2k63TKNSwGA6WXaLGR+4uoyDnvhCLxhHSQ9/Oit Cancel-Lock: sha1:Zz5mwTGChJeM188rdiqD7xtQCvc= X-Mozilla-News-Host: news://news.individual.de:119 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 Xref: csiph.com de.comp.lang.python:4750 gegeben 5 Dateien: Anzeige durch: for i in *.py;do echo "##########" $i;cat $i;done liefert ########## p1.py x=0 def f(): global x x=1 f() ########## p2.py import p1 print(p1.x) ########## p3.py x=0 from p4 import * f() ########## p4.py def f(): global x x=1 ########## p5.py import p3 print(p3.x) Der Anfang sind p1.py und p2.py. p1.py enthält globale Daten, Funktionen etc. p2.py ist einer der Programme welche p1.py verwenden. In p1 werden mir einige Funktionen zu groß, so dass ich sie gerne auslagern würde. Im obigen Beispiel lagere ich die Funktion f nach p4.py aus und der Rest verbleibt in p3.py p5.py entspricht p2.py. python3 p2.py liefert wie gewünscht 1 python3 p5.py liefert leider 0 Hermann der nicht gerne extra Variable umkopieren mag -- http://www.hermann-riemann.de