在第一个函数中,用
readlines
. 当你使用
阅读线
在第二个函数中,您已经在文件的末尾,没有更多的数据可供读取,因此
for
甚至没有进入循环。
但不需要为每个函数再次读取文件。在函数外部读取文件并将其放入列表中。然后将参数添加到接受此列表的每个函数中。在函数中,可以循环遍历列表。
def function_search_search_key(lines):
search_search_key = ['{search_key:']
for line in lines:
for word in search_search_key:
if word in line:
print(line)
def function_search_event_type(lines):
search_event_type = ['event_type:']
for line in lines:
for word in search_event_type:
if word in line:
print(line)
def main():
with open('scan_dcn.yaml', 'r') as yamlfile:
lines = yamlfile.readlines()
function_search_search_key(lines)
function_search_event_type(lines)
if __name__ = '__main__':
main()
如果需要更改文件名,可以在一个地方进行更改。如果在每个函数中打开并读取文件,则必须更改文件名的所有占用。