2015-11-04 98 views
1

這是mailer.py腳本的一部分:如何在python中使用pyfig模塊?

config = pyfig.Pyfig(config_file) 
svnlook = config.general.svnlook #svnlook path 
sendmail = config.general.sendmail #sendmail path 
From = config.general.from_email #from email address 
To = config.general.to_email #to email address 

是什麼配置變量包含哪些內容?有沒有辦法獲得配置變量的值沒有pyfig?

回答

1

在這種情況下,config =一個pyfig.Pyfig 對象用字符串config_file的內容命名的文件內容初始化。

要找出那個對象確實,包含你可以在文檔和/或源代碼看,無論是here,也可以打印出來,初始化後,如:

config = pyfig.Pyfig(config_file) 
print "Config Contains:\n\t", '\n\t'.join(dir(config)) 
if hasattr(config, "keys"): 
    print "Config Keys:\n\t", '\n\t'.join(config.keys()) 

如果你正在使用Python 3

config = pyfig.Pyfig(config_file) 
print("Config Contains:\n\t", '\n\t'.join(dir(config))) 
if hasattr(config, "keys"): 
    print("Config Keys:\n\t", '\n\t'.join(config.keys())) 

爲了獲得不pyfig同樣的數據,你需要閱讀,並在文件內CONFIG_FILE引用的內容解析您的自己的代碼。

N.B.:請注意,pyfig似乎或多或少被遺棄 - 超過5年沒有更新,網站不再存在等,所以我強烈建議將代碼轉換爲使用json配置文件。

+0

非常感謝!你能告訴我什麼是連接方法嗎?它是用於連接嗎? – esyana

+0

_somestring_.join(_list_)將給出一個單一字符串,並將該列表的所有成員與字符串作爲分隔符連接在一起。在這種情況下,它會在它們之間放置一個換行符和製表符。 –

+0

瞭解:D謝謝:) – esyana