Как открыть дочерний процесс, чтобы привязать файлы, присутствующие в файле конфигурации, используя python на компьютере Mac? - PullRequest
0 голосов
/ 20 декабря 2011

Я пытаюсь подключить файлы в конфигурационном файле, используя python на Mac

Я могу получить значения из файла конфигурации, но не могу открыть дочерние процессы для того же

образец файла конфигурации имеет

[section1]

host_prefix = true

timestamp_prefix = true

[section2]

host = localhost

порт = 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» но я хочу только пути из файла и нужно их хвост в отдельных дочерних процессов

Ответы [ 2 ]

1 голос
/ 20 декабря 2011
  1. используйте os.path.exists , чтобы проверить, существует ли файл
  2. , используйте ConfigParser для анализа файла конфигурации ini-типа
1 голос
/ 20 декабря 2011

Попробуйте ConfigParser .Может работать с INI-файлами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...