목차
- 파이썬 사용자에게 입력받기 input 예제 이전 포스팅
- 파이썬 문자열에서 특정 단어 위치 찾기 예제 이전 포스팅
- 파이썬 파일 열고 텍스트 읽기 예제 이전 포스팅
- 파이썬 파일경로와 단어로 오프셋 구하기 함수 예제
- 파이썬 파일에서 특정 단어 오프셋 구하여 출력 예제
파이썬 사용자에게 입력받기 input 예제 이전 포스팅
오늘 포스팅 주제는 이전 포스팅에 이어 텍스트 파일의 텍스트들 중에서 사용자가 원하는 특정 단어들의 오프셋을 모두 구하여 출력하는 예제입니다. 이전에는 직접 장문의 글을 입력받는 상황이었다면 오늘은 텍스트 파일이 주어졌을 때 단어들을 찾아내는 예제입니다.
따라서 파일의 경로 혹은 찾을 단어를 입력받기 위해 input 함수를 사용해야합니다. 아직 파이썬의 입력 함수인 input에 대해 아직 잘 모르신다면 아래의 이전 포스팅을 참고하여 학습해주세요.
2023.08.18 - [Python] - [Python] 파이썬 사용자에게 입력받기 예제(input)
파이썬 문자열에서 특정 단어 위치 찾기 예제 이전 포스팅
이전 포스팅에서 다룬 장문에서 특정 단어의 오프셋을 찾는 예제를 선행 학습하면 오늘 예제를 이해하기 빠릅니다. find 라는 함수를 사용한다는 점에서 공통점이 많은 예제입니다.
따라서 오늘 포스팅을 학습하기 이전에 이전의 단어 찾기 예제 포스팅을 먼저 참고해주세요.
2023.08.18 - [Python] - [Python] 파이썬 긴 문자열에서 특정 단어 위치 구하기 예제(find)
파이썬 파일 열고 텍스트 읽기 예제 이전 포스팅
마지막으로 오늘은 텍스트 파일의 문자열들을 가져와서 단어를 찾을 것이기때문에 파일을 열고 데이터를 가져올 줄 알아야합니다. 해당 내용은 이전 포스팅에서 os.read 부분에서 다룬 적이 있습니다.
만약 파일의 데이터를 가져올줄 모르신다면 아래 링크를 참고하여 학습해주세요.
2023.08.18 - [Python] - [Python] 파이썬 파일 복사하기 예제(read, write)
파이썬 파일경로와 단어로 오프셋 구하기 함수 예제
아래는 파이썬에서 사용자에게 파일 경로와 찾을 단어를 입력받아 오프셋을 구하는 함수입니다.
def find_word_offsets(file_path, search_word):
offsets = []
try:
with open(file_path, "r") as file:
content = file.read()
index = content.find(search_word)
while index != -1:
offsets.append(index)
index = content.find(search_word, index + 1)
return offsets
except FileNotFoundError:
print("File not found.")
except Exception as e:
print("An error occurred:", e)
return []
파이썬 파일에서 특정 단어 오프셋 구하여 출력 예제
아래는 위에서 구현한 함수에 파일 경로와 찾을 단어를 전달하여 오프셋들을 출력한 예제입니다.
def find_word_offsets(file_path, search_word):
offsets = []
try:
with open(file_path, "r") as file:
content = file.read()
index = content.find(search_word)
while index != -1:
offsets.append(index)
index = content.find(search_word, index + 1)
return offsets
except FileNotFoundError:
print("File not found.")
except Exception as e:
print("An error occurred:", e)
return []
file_path = input("Enter the file path: ")
search_word = input("Enter the word to search: ")
word_offsets = find_word_offsets(file_path, search_word)
if word_offsets:
print(f"The word '{search_word}' was found at offsets: {word_offsets}")
else:
print(f"The word '{search_word}' was not found in the file.")