[파이썬] 루프와 파일 순회

루프와 파일 순회는 파이썬 프로그래밍에서 핵심적인 기능입니다. 루프는 반복적인 작업을 수행하고, 파일 순회는 파일로부터 데이터를 읽거나 쓰는 작업을 관리합니다. 이 블로그 포스트에서는 파이썬으로 루프와 파일 순회를 다루는 방법에 대해 알아보겠습니다.

루프 (Loop)

루프는 특정 작업을 반복적으로 수행하기 위해 사용됩니다. 파이썬에는 다양한 종류의 루프가 있으며, 가장 일반적인 종류는 forwhile루프입니다. 예를 들어, 다음은 리스트의 요소를 출력하는 for루프의 예입니다:

fruits = ['apple', 'banana', 'orange']

for fruit in fruits:
    print(fruit)

이 코드는 fruits리스트의 모든 요소를 순회하면서 각 요소를 출력합니다. 결과는 다음과 같습니다:

apple
banana
orange

for루프는 시퀀스(리스트, 튜플, 문자열 등)뿐만 아니라 이터러블 객체(iterable object)에서도 작동합니다. 이터러블 객체는 __iter__메서드를 구현한 객체이며, for루프에서 순회할 수 있습니다.

파일 순회 (File Iteration)

파일순회는 파일에서 데이터를 한줄씩 읽거나 쓸 수 있는 기능을 제공합니다. 파이썬에서는 open함수를 사용하여 파일을 열고, 파일 객체를 얻을 수 있습니다. 예를 들어, 다음은 example.txt라는 파일을 열고, 파일의 내용을 한줄씩 출력하는 예입니다:

file = open('example.txt', 'r')

for line in file:
    print(line)

file.close()

위의 코드에서 open함수는 example.txt라는 파일을 읽기 모드로 엽니다. 그런 다음 파일 객체를 file변수에 할당합니다. for루프를 통해 파일 객체를 순회하면서, line변수에는 파일의 한 줄씩 할당됩니다. 이후 각 줄을 출력합니다. 마지막으로, close메서드를 통해 파일을 닫아줍니다.

루프와 파일 순회의 조합

루프와 파일 순회를 결합하면, 파일을 읽거나 쓰는 작업을 반복해서 수행할 수 있습니다. 예를 들어, 다음은 example.txt파일의 각 줄마다 문자열의 길이를 출력하는 예입니다:

file = open('example.txt', 'r')

for line in file:
    length = len(line.strip())
    print(f"The length of the line is {length}")

file.close()

위의 코드에서 각 줄을 읽어올 때 line변수에 할당되고, len함수를 사용하여 문자열의 길이를 계산합니다. 그리고 strip메서드를 통해 문자열의 앞뒤 공백을 제거합니다. 마지막으로, 문자열의 길이를 출력합니다.

무한루프에 빠지지 않도록 반드시 파일을 닫아야 합니다. 파일을 닫는 것은 close메서드를 사용하거나, with문을 사용하여 자동으로 파일을 닫을 수 있습니다. 예를 들어, with문을 사용한 파일 순회의 예를 확인해보세요:

with open('example.txt', 'r') as file:
    for line in file:
        print(line)

with문을 사용하면 파일을 열고, 블록 안에서 파일을 사용한 후 자동으로 닫아줍니다.

이렇게 파이썬에서 루프와 파일 순회 기능을 사용하여 반복 작업을 수행하고, 파일을 읽고 쓸 수 있습니다. 이 기능을 잘 활용하면 많은 작업을 효율적으로 처리할 수 있습니다.