2010-08-11 2 views
0

Afin de garder mon code propre et bien organisé, je partage mon cours en un tas de différents fichiers et dossiers, voici ce qu'est une structure typique de projet ressemblera pour moi:Impression de la sortie de classes autres que la classe principale avec python?

> Project 
    __init__.py 
    main.py 
    ui.py 
    > lib 
     foo.py 
     bar.py 

Dans mon ui. py fichier, je définis généralement une sorte de fonction d'information si l'application est juste une application en ligne de commande. Cela ressemble habituellement quelque chose comme ceci:

def info(message, level=1): 
    if level == 1: 
     token = "[+] " 
    elif level == 2: 
     token = "\t[-] " 
    print token + str(message) 

Maintenant, la question est, si je fais beaucoup de travail main.py, et ont donc créé un objet dans ui par importer dans, quel est le meilleur moyen alors d'utiliser la même fonction info dans foo.py ou bar.py?

Répondre

1

import project.ui ou from project import ui devrait faire l'affaire. Ne dites à personne que je vous ai parlé de la deuxième option. Le répertoire parent de project doit être sur votre chemin python.

+0

Est-ce que cela fonctionnerait même si je mettais à jour un élément sur une fenêtre graphique avec la classe ui? – Backus

+0

tant que le parent de 'project' est sur le chemin python et qu'il y a un fichier' __init __. Py' dans 'project', alors oui. – aaronasterling

+0

Je vois. Je me suis dit qu'il y avait quelque chose d'autre qu'une importance, mais je suppose que j'avais tort. Merci. – Backus

Questions connexes