Héritage classe et fonction
Bonjour à tous,
J'ai un fichier main.py qui lorsqu'il est lancé me créé un objet Configuration afin de récupérer un chemin et un nom de fichier dans un fichier qui s'appel config.ini:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
import sys
import time
from Module.config import config
class LoadAll():
def __init__(self, BulkFile) :
#Load Configuration file (config.ini)
self.Configuration = config.ConfigIniFile("config.ini")
print self.Configuration.homepath
print self.Configuration.configfilename
time.sleep(5)
if __name__ == "__main__" :
f = sys.argv[1:][0]
LoadAll(f) |
Le fichier config.py dans lequel j'ai une classe comme définie ci dessous et qui est appelé dans le fichier main.py est le suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
class ConfigIniFile():
def __init__(self, configfile):
with open(configfile, "r") as self.configini :
for self.lines in self.configini :
self.line = self.lines.strip().split("=")
if self.line[0].strip() == "[home]" and self.line[1].strip() != "":
self.homepath = self.line[1].strip()
#Check if path is a directory
if os.path.exists(self.homepath):
pass
else :
print "ERROR path does not exist !"
if self.line[0].strip() == "[home]" and self.line[1].strip() == "":
print "ERROR home path does not declared !"
if self.line[0].strip() == "[ConcaFileName]" and self.line[1].strip() != "":
self.configfilename = self.line[1].strip()
if self.line[0].strip() == "[ConcaFileName]" and self.line[1].strip() == "":
print "ERROR file name is not defined !"
if __name__ == "__main__" :
Config = ConfigIniFile("config.ini") |
Dans un autre fichier Listing.py où je n'ai pas de classe mais juste une fonction, je souhaite récupérer le self.homepath :
Pour l'instant je fait comme ceci et ça fonctionne :
Code:
1 2 3 4 5 6
|
from Module.config import config
def ListingPath():
Configuration = config.ConfigIniFile("config.ini")
home = Configuration.homepath |
sauf que je n'ai pas l'impression que ce soit la bonne méthode car je suis obligé de recréer un objet Configuration.
L'object Configuration que je créé dans le fichier main.py existe, je dois donc être capable de le récupérer sans devoir le recréer ?
J'ai regardé du coté des héritages, mais de ce que j'ai pu lire ce n'est vrai que pour les classes, mais pas entre classe et méthode ou inversement ? Vous me confirmez ?
Merci d'avance pour vos réponses.