Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python)으로 명령줄에서 파일에 쓰는 방법

파이썬(Python)을 사용해 명령줄(커맨드 라인)에서 파일에 내용을 쓰려면, 실행하려는 스크립트가 명령줄 인수(CLI 인수)를 받아들일 수 있도록 작성되어야 합니다. 즉, 대상 파일의 경로를 스크립트에 직접 전달받아 처리하는 구조가 필요합니다.

예제

예를 들어, 열리는 모든 파일 끝에 "Hello"라는 문자열을 추가(append)하는 프로그램을 작성한다고 가정해 보겠습니다.

import sys
with open(sys.argv[1], 'a') as f:
    f.write("Hello")

실행 결과

위 코드를 cat.py라는 이름으로 저장한 뒤, 터미널에서 다음과 같이 실행합니다.

$ python cat.py my_file.txt

명령 실행 후 my_file.txt 파일을 열어보면, 파일 마지막에 "Hello"가 추가된 것을 확인할 수 있습니다.

여기서 동작 원리를 살펴보면, 위 명령은 my_file.txt를 CLI 인수로 cat.py에 전달합니다. 파이썬은 이 값을 sys.argv 리스트에 담는데, argv[0]에는 스크립트 이름 자체가 들어가고, argv[1](두 번째 명령줄 인수)에는 전달된 파일 경로가 저장됩니다. 따라서 sys.argv[1]을 통해 대상 파일에 접근하여 읽기나 쓰기를 수행할 수 있는 것입니다.

참고: 안전한 인수 처리

실무 환경에서는 인수가 실제로 전달되었는지 확인하는 것이 좋습니다. 인수 없이 실행되면 IndexError가 발생하기 때문입니다. 다음과 같이 예외 처리를 추가하면 더 견고한 스크립트를 만들 수 있습니다.

import sys

if len(sys.argv) < 2:
    print("사용법: python cat.py <파일경로>")
    sys.exit(1)

with open(sys.argv[1], 'a') as f:
    f.write("Hello")

이처럼 명령줄 인수와 파일 입출력을 조합하면, 로그 기록, 배치 작업, 자동화 스크립트 등 다양한 상황에서 유용하게 활용할 수 있습니다.