if-else внутри цикла for не работает в python

Вам нужно сделать две вещи -

  1. Разбор документа -

Для этого используйте эту ссылку в качестве ссылки - C #: Как (анализировать текстовое содержимое) / читать из документа Microsoft Word Document doc

  1. Захват текста

Использовать следующее регулярное выражение -

\[(.*?)\]

См. этот сайт для получения дополнительной информации - Регулярное выражение в C #

3
задан Mehrdad Pedramfar 19 January 2019 в 13:49
поделиться

3 ответа

В строке if eachenv=="DEV01" or "DEV02": всегда выполняется второе условие:

>>> if "DEV02":
...     print('hello')
... 
hello

Это происходит потому, что строка "DEV02" является объектом, поэтому будет оцениваться True.

@Lightness Races на орбите дали правильный способ написать это, если утверждение.

0
ответ дан 19 January 2019 в 13:49
поделиться
 if eachenv=="DEV01" or "DEV02":

Означает, если одно из следующего:

  • eachenv равно "DEV01"
  • "DEV02"

Ну, а как насчет "DEV02"? Он существует, так что вариант условия будет «правдивым», поэтому ваш if всегда пройдет.

Это не то, как работают цепные условия.

Вы имели в виду:

if eachenv=="DEV01" or eachenv=="DEV02":

Теперь, если одно из следующего:

  • eachenv равно "DEV01"
  • [119 ] равно "DEV02"

Yay!

0
ответ дан Lightness Races in Orbit 19 January 2019 в 13:49
поделиться

Проблема в if eachenv=="DEV01" or "DEV02".

Вы не можете проверить, как это. результат будет True, если eachenv=="DEV01" в противном случае результат будет "DEV02", а не False. вы должны пойти так:

if eachenv in ["DEV01", "DEV02"]:

также измените for eachenv in envnames: на:

for eachenv in envnames.readlines():
0
ответ дан Mehrdad Pedramfar 19 January 2019 в 13:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: