파일의 특정 문자열을 검색하고이를 기반으로 파일 데이터를 처리해야합니다."with"의 파일 객체를 1 번 이상 사용하십시오.
나는 파일을 2 번 열어서 어떻게하는지 알고있다.
파일을 한 번만 열어서이 작업을 수행 할 수 있습니까?
코드 :
with open(path, "r") as _file:
for line in _file:
if "my_string" in line:
flag = True
break
with open(path, "r") as _file:
for line in _file;
if flag:
process line
...
else:
process differently
...
내가 시도 :
이with open(path, "r") as _file:
for line in _file:
if "my_string" in line:
flag = True
break
for line in _file;
if flag:
process line
...
else:
process differently
...
그러나 여기 루프 2가 1 루프가 떠난 곳에서 시작, 그것은 파일의 첫째 줄에서 시작되지 않고 그 이유는이 여기서 일하지 않아.
왜 먼저 신고해야합니까? if 루프에서 직접 처리 할 수없는 이유는 무엇입니까? –
"내 문자열"은 파일의 첫 번째 줄과 마지막 줄 사이에 있고 파일의 모든 줄을 처리해야하기 때문에 @BurhanKhalid가됩니다. – Patrick