Access class-Instanz aus einer Datei in eine andere Datei?

Ich habe zwei Dateien, die beide im selben Projekt (Teil einer web-scraping-framework). Datei1 verarbeitet die Elemente, die von Datei2. In Datei2 ich habe eine Funktion, druckt einige grundlegende Statistiken über die Prozesse (zählt, wie viele Objekte erzeugt wurden, etc). Ich habe zählt die in Datei1, ich würde auch gerne drucken mit den stats aus Datei1, bin aber unsicher, wie das zu tun. Werfen Sie einen Blick auf den Beispiel-code.

DATEI 1:

class Class1(object):
    def __init__(self):
        self.stats = counter("name") #This is the instance that I'd like to use in File2
        self.stats.count = 10

class counter:
    def __init__(self, name):
        self.name = name
        self.count = 0
    def __string__(self):
        message = self.name + self.count
        return message

DATEI 2: (dies ist, was ich gerne machen würde)

from project import file1 # this import returns no error

def stats():
    print file1.Class1.stats # This is where I'm trying to get the instance created in Class1 of File2.
    #print file1.Class1.stats.count # Furthermore, it would be nice if this worked too.

FEHLER:

exceptions.AttributeError: type object 'Class1' has no attribute 'stats'

Weiß ich, dass beide Dateien ausgeführt werden, somit also nicht die 'stats' Instanz von 'counter' Klasse, weil Sie andere Methoden werden ausgedruckt, wenn das Projekt ausgeführt wird (dies ist nur eine abgespeckte Beispiel. Was mache ich hier falsch? Ist dies möglich?

InformationsquelleAutor alukach | 2011-09-02

Schreibe einen Kommentar