2012-03-13 59 views
1

我有它主要用於在shell腳本配置文件,因此具有以下格式:是否有ConfigParser版本處理沒有節標題的文件?

# Database parameters (MySQL only for now) 
DBHOST=localhost 
DATABASE=stuff 
DBUSER=mypkguser 
DBPASS=zbxhsxhg 

# Storage locations 
STUFFDIR=/var/mypkg/stuff 
GIZMODIR=/var/mypkg/gizmo 

現在我需要從一個Python(2.6)腳本讀取數值。我不想重新發明輪子,並用descriptor.readlines()解析它,並尋找等號並跳過以'#'開頭的行,並處理引用的值和等等等等等等。我嘗試過使用ConfigParser,但它不喜歡沒有節標題的文件。我有什麼選擇嗎?或者我會不得不做那些無聊的事情?

哦,順便說一句,圍繞Python腳本包裝shell腳本不是一個選項。它必須在Apache內運行。

+0

這是[這個問題]重複(http://stackoverflow.com/questions/2885190/using-pythons-configparser-to-read-a-file-without-section-name)? – zenpoy 2012-03-13 14:49:06

+0

耶看起來像一個dup! – 2012-03-13 14:52:03

+0

Akk。是。這是一個確切的副本。抱歉。 – JCCyC 2012-03-13 14:59:22

回答

3

我不知道這樣的模塊,但作爲一個快速和骯髒的破解 - 只需在文件內容之前添加[section],並且您可以按預期使用ConfigParser!

from io import StringIO 

filename = 'ham.egg' 
vfile = StringIO(u'[Pseudo-Sectio]\n%s' % open(filename).read()) 
相關問題