Я использую функцию для чтения определенного файла, который в этом случае равен options
и выполняет некоторое регулярное выражение для каждой прочитанной строки. Файл Читаю является:Использование итератора над списком в инструкции if в Python
EXE_INC = \
-I$(LIB_SRC)/me/bMesh/lnInclude \
-I$(LIB_SRC)/mTools/lnInclude \
-I$(LIB_SRC)/dynamicM/lnInclude
Мой код
def libinclude():
with open('options', 'r') as options:
result = []
for lines in options:
if 'LIB_SRC' in lines and not 'mTools' in lines:
lib_src_path = re.search(r'\s*-I\$\(LIB_SRC\)(?P<lpath>\/.*)', lines.strip())
lib_path = lib_src_path.group(1).split()
result.append(lib_path[0])
print result
return (result)
Теперь, как вы можете видеть, я смотрю на линии, которая имеет mTools
и фильтр, используя not 'mTools' in lines
. Однако, когда у меня есть много таких строк, как мне фильтровать? Скажем, например, я хотел бы отфильтровать линии с mTools
и dynamicM
. Можно ли поместить такие строки в список, а затем получить доступ к элементам этого списка против lines
в заявлении if
?
use 'with open ('options', 'r'). Readlines()' – itzMEonTV
@latheefitzmeontv Как использование readlines помогает мне отфильтровывать строки? Thanks – hypersonics