2012-03-07 1 views
0

파이썬으로 파일 (dhcpd.conf, dns 파일)을 편집하고 싶습니다. 나는 어떤 옵션을 찾고 있었고 나는 bicop 라이브러리를 발견했다. 내가 수행하려고 :python 및 bicop으로 dhcpd.conf 파일을 구문 분석하는 방법은 무엇입니까?

from bicop import parse 
parse("/home/tigov/dhcp/dhcpd.conf") 

을하고 내가 가지고 :

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/lib/python2.6/dist-packages/bicop/config.py", line 83, in parse 
    return _Parse(tokenizer, dictclass=dictclass) 
    File "/usr/local/lib/python2.6/dist-packages/bicop/config.py", line 141, in _Parse 
    raise ParseError, (input.infile, input.lineno, "Unexpected end of file") 
bicop.config.ParseError: None[1]: Unexpected end of file 

내가 무엇을해야 어떤 아이디어, 또는 "방법 bicop"? 아니면 이것을 할 수있는 또 다른 도서관인가? (iscpy 라이브러리가 잘 작동하지 않습니다.) 도움을 주셔서 감사 드리며 죄송합니다. 영어가 약합니다.

답변

0

bicop의 예제는 작동하지 않습니다. 구문 분석은 문자열 입력 만 허용합니다. 사용해보기 :

from bicop import parse 
parse(open("/home/tigov/dhcp/dhcpd.conf").read()) 
0

여기에 this answer이 도움이되는 것 같습니다. bicop 더 복잡한 ISC 설정 파일을 구문 분석 작업을 표시하지 않지만, iscpy

# Here is the file that I'm parsing (which bicop won't parse) 
# 
# zone "example.com" IN { 
# type master; 
# file "/var/named/example.com"; 
# allow-update { none; }; 
# }; 

>>> import iscpy 
>>> iscpy.ParseISCString(open('./named.conf').read()) 
{'zone "example.com" IN': {'allow-update': {'none': True}, 
    'file': '"/var/named/example.com"', 
    'type': 'master'}} 
0

당신이 의견을 보존에 적응하는 좋은 방식으로 ISC 파일을 수정하려면 보인다 기존 등의 confctl 유틸리티 수도 서식 좋은 선택 : https://github.com/trasz/confctl/

관련 문제