-1

例如,我有一個名爲rule1.conf這樣一個配置文件:如何在Python中實現這樣的MVC?

[Basis] 
user = "sunhf" 
time = "2012-12-31" 

[Bowtie] 
path = "/usr/bin/bowtie" 
index = "/mnt/Storage/sync/hg19" 

而且這樣的models.py(使用一個名爲magic.py包..):

from magic import Section 
class Conf: 
    __confname__ = None 
    basis = Section(["user", "time"]) 
    bowtie = Section(["path", "index"]) 

最後,像這樣的viewer.py:

from models import Conf as my_conf 
my_conf.__confname__ = "rule1.conf" // bind to the config file, I have no ideas how to do this 
print my_conf.basis.user // output: `sunhf` 
print my_conf.bowtie.index // output: `/mnt/Storage/sync/hg19` 

當我在命令行運行

$ python viewer.py 
sunhf 
/mnt/Storage/sync/hg19 

有沒有人有關於如何實施magic.py的任何想法? 謝謝!

+0

這令我奇怪的是你要與類本身工作而不是您的viewer.py中的一個實例。您不應該有一個Conf .__ init __(confname),它允許您使用特定配置文件創建配置實例嗎? – vicvicvic

+0

@vicvicvic在SQLAlchemy中,我記得'models.py'中的類僅用於聲明,並且不需要創建它們的實例:http://packages.python.org/Flask-SQLAlchemy/models.html。 –

+0

@vicvicvic在我看來,'Conf'類只有一個實例(Singleton),我可以直接在'viewer.py'中使用'Conf'類而不是使用它的實例嗎? –

回答