2016-06-17 2 views
-4

파이썬을 사용하여 prototxt 파일을 편집하고 싶습니다. 소스를 다른 디렉토리로 변경하기 만하면됩니다. 이 문제를 해결할 수있는 간단한 방법이 있습니까? 전체 파일을 다시 정의하고 전체 파일을 다시 작성할 필요가 없습니까?파이썬에서 prototxt 파일 편집

예를 들어, 내 prototxt 파일에 나는

layer { 
    name: "data" 
    type: "Data" 
    top: "data" 
    top: "label" 
    include { 
    phase: TRAIN 
    } 
    transform_param { 
    mirror: true 
    crop_size: 227 
    mean_file: "data/ilsvrc12/imagenet_mean.binaryproto" 
    } 
    data_param { 
    source: "examples/imagenet/ilsvrc12_train_lmdb" 
    batch_size: 256 
    backend: LMDB 
    } 
} 

을하고 난 단지 필드 '소스'를 변경하고 싶습니다. 이것은 상대적으로 긴 net def (여기에 게시 된 것은 단지 전형적인 예이며, 나는 내 자신의 net def를 가짐)입니다. 수동으로 모든 필드를 수동으로 입력하지 않아도 많은 시간을 절약 할 수 있습니다.

감사합니다.

+0

파일을 읽고/구문 분석하고 변경 한 다음 모두 다시 써야합니다. 파일을 제자리에서 수정하면 제거 할 때와 정확히 동일한 문자 수를 써야하거나 전체 파일이 손상 될 수 있습니다. –

답변

1

운영체제의 명령 줄을 사용하면 더 쉬울 거라고 생각합니다. 유닉스 (Linux)에는 좋은 편집자 (sed, awk 등)가 있습니다. OS가 파일을 열고 변경하고 다시 작성하도록하십시오.

빌드해야하는 명령은 의 출처 :을 찾고 나머지 줄은 입력 한 문자열로 바꿉니다.

적용 가능한 파이썬은 다음과 같습니다

import os 
os.system("<your command>") 

또한 this SO 질문을 참조하십시오.

+0

고마워, 그게 내가 할거야, 내가 터미널에서 gedit 그들을 편집 할 수 있습니다, 그래서 이것은 가장 간단한 해결책이 될 수도 있습니다 – jerpint