我正在研究Tensorflow项目并构建对象检测API包装器。
我要做的是用一些值替换文件"PATH_TO_BE_CONFIGURED/mscoco_train.record"
的这一特定部分,同时保留其他所有内容。您如何使用re
模块来做到这一点?
有几个与此类似的块,因此我需要从train_input_reader
指定范围。
我尝试了各种方法,但没有一个能正常工作,所以我问。
train_input_reader {
label_map_path: test
tf_record_input_reader {
input_path: "PATH_TO_BE_CONFIGURED/mscoco_train.record"
}
}
答案 0 :(得分:0)
您可以使用re.sub
re.sub(r'input_path:\s+"[^"]*"', 'input_path: "{}"'.format(new_path), s)
例如
>>> import re
>>> new_path = "new_path"
>>> s="""train_input_reader {
... label_map_path: test
... tf_record_input_reader {
... input_path: "PATH_TO_BE_CONFIGURED/mscoco_train.record"
... }
... }"""
>>> s = re.sub(r'input_path:\s+"[^"]*"', 'input_path: "{}"'.format(new_path), s)
>>>
>>> print(s)
train_input_reader {
label_map_path: test
tf_record_input_reader {
input_path: "new"
}
}
>>>