我试图在mac
上使用python来配置配置文件中的文件我能够从配置文件中获取值,但无法为相同的
打开子进程示例配置文件
[SECTION1]
host_prefix = true
timestamp_prefix = true
[第2节]
host = localhost
port = 1463
pids = / var / run / harvester
[文件]
apache.access = /var/log/apache2/access.log
apache.errors = /var/log/apache2/errors.log
mail = /var/log/mail.log
mysql.log = /var/log/mysql.log
我打开配置文件并尝试获取文件路径,我需要在单独的终端中的新子进程中尾随它们
#! /bin/env python
import StringIO
import os
import re
from multiprocessing import Process
COMMENT_CHAR = '#'
OPTION_CHAR = '='
def parse_config(filename):
options = {}
f = open(filename)
for line in f:
if COMMENT_CHAR in line:
line, comment = line.split(COMMENT_CHAR, 1)
if OPTION_CHAR in line:
option, value = line.split(OPTION_CHAR, 1)
option = option.strip()
value = value.strip()
options[option] = value
f.close()
return options
try:
f = open("/etc/harvest.conf", 'r')
print 'found'
options = parse_config('/etc/harvest.conf')
print options.values()
os.system('tail -f options.values')
except:
try:
f = open("/usr/local/etc/harvest.conf", 'r')
print 'found'
options = parse_config('/usr/local/etc/harvest.conf')
print options.values()
os.system('tail -f options.values')
except IOError:
print 'cannot find file'
上面的代码给出了配置文件中包含'localhost','1463'的所有值 但我只想要文件中的路径,需要在单独的子进程中尾随它们
答案 0 :(得分:1)
试试ConfigParser。它可以与INI文件一起使用。
答案 1 :(得分:1)