텍스트 파일의 단어를 다른 단어와 비교하는 방법은 무엇입니까?

텍스트 파일의 단어를 다른 단어와 비교하는 방법은 무엇입니까?
with open("file.txt") as f:
     for line in f:
         for word in f:
             if word == 'President':
                print('a')

텍스트 파일에 "President"라는 단어가 4번 나타나도 아무 것도 인쇄되지 않습니다. 어떻게 확인하게 할 수 있나요?

내 텍스트 파일은 다음과 같습니다.

President Kacey Genicke

President Alexandra Twomey

President Aldous Graddell

President Bernie Jenicek

Officer Cyrill Vernazza

Officer Sutton Spier

Officer Isabella Seer

Officer Abbey Holdforth

Faculty Officer Lennie Lomaz

Faculty Officer Brant Howle

Faculty Officer Dionysus Summerbell

Faculty Officer Calhoun Duguid

Faculty Officer Tremain Arnaez

Faculty Officer Mirabella Trathan

Faculty Officer Dex Darcy

내 출력이 다음과 같기를 원합니다.

   Kacey Genicke

   Alexandra Twomey

   Aldous Graddell

   Bernie Jenicek

나는 이것을 시도한다:

with open("file.txt") as f:
    for line in f:
            if 'President' in line:
                print(line[10])

이것은 모든 대통령의 첫 번째 편지입니다.

답변1

내부 루프의 기능은 for word in f:다음과 같습니다.아니요반복"성격"한 줄에 있지만 for line in f파일 줄을 사용하는 것과 같습니다 .f.

한 줄에 단어가 포함되어 있는지 확인하려면 'President'다음을 수행해야 합니다.

with open("file.txt") as f:
     for line in f:
         if 'President' in line:
             print('a')

President접두사가 제거된 단어로 시작하는 행만 인쇄하려면 다음을 수행하십시오 .

with open("file.txt") as f:
     for line in f:
         if line.startswith('President'):
             print(line.replace('President', '').strip())

답변2

첫째, 나는 그것이 당신의 들여쓰기라고 생각합니다. 다음을 시도해 볼 수 있습니다.

with open('file.txt') as f:
    count = 0 
    for line in f:
        columns = line.split() 
        if len(columns) > 1 and 'President' in line:  
            print(columns[1], columns[2])
            count += 1
    print("There are ", count, "Presidents found")

President특정 줄에 있는 경우 전체 줄을 인쇄해야 합니다. 그런 다음 행을 열로 분할하고 그에 따라 열을 인쇄합니다.

그러나 이 경우 awkPython을 사용하는 것이 Python보다 더 적합할 수 있습니다.

awk '/President/{c++; print $2,$3 } END { printf("There were %d Presidents found\n", c)}' file.txt 
  • 대통령을 찾고
  • 증분 카운터 C.
  • 두 번째 및 세 번째 열을 인쇄합니다.
  • 끝. 발견된 총 발생 횟수를 인쇄합니다.

관련 정보