[질문] python 에서 find 함수 안에 변수

maindb의 이미지


아래와 같이

i = 0
	for line in lines:
		device = str("test" + str(i))
		if line.find(device)>=0:
                        ......................
 
	i = i + 1

line 내용이 아래와 같을때

test0
test1
test2
test3

분명히 if 절에 true 가 되는 라인이 존재하는데
안되네요. 몇가지 바꿔보면서 테스트를 해보고 있는데...
물론 그냥 find("test0") 과 같이 하면 잘 됩니다.

무엇이 문제 일까요?
조언 부탁드립니다.

7339989b62a014c4ce6e31b3540bc7b5f06455024f22753f6235c935e8e5의 이미지

들여쓰기가 잘못된 것 같은데요. 그리고 숫자를 따로 셀 필요 없이 enumerate 함수를 사용하면 됩니다. 또, 문자열 포함 여부를 확인할 때는 in 연산자를 쓸 수 있습니다. 그러니까 이렇게 바꿔보세요:

for i, line in enumerate(lines):
	device = "test%d" % i
	if device in line:
		...