본문 바로가기
코딩 연습/코딩배우기

[python] 파이썬 파일 처리 - 명령 프롬프트에서 파일명 읽어 실행하기

by good4me 2020. 10. 11.

goodthings4me.tistory.com

 

■ 명령 프롬프트나 터미널창에서 처리할 파일명을 읽어서 실행하기 (sys모듈 import)

  • sys 모듈을 통해, 리스트 형식의 argv 변수를 사용할 수 있는데, 명령줄 인수(command-line argument)들로 구성된 리스트(argv[n])를 파이썬 스크립트로 가져온다.
  • argv[0]은 스크립트 이름이고, argv[1]은 명령 줄을 통해 전달된 첫 번째 인수이다.
import sys

input_file = sys.argv[1]

with open(input_file, 'r', newline='') as filereader:
    for row in filereader:
        print(row.strip())
        

# sys.argv 리스트로 읽을 파일의 주소를 얻어 변수 input_file에 할당
# open 함수로 input_file을 'r' 모드로 열고 파일 내용의 각 행을 저장할 파일 객체 filereader 생성
# for문으로 filereader 객체에 있는 행을 한 번에 하나씩 읽는다.

 

good4me.co.kr

 

■ grob 모듈을 이용해 다수의 텍스트 파일 읽기

import sys
import glob
import os

inputPath = sys.argv[1]  # 디렉토리 경로

for input_file in glob.glob(os.path.join(inputPath, '*.txt')):
    print(input_file)

    with open(input_file, 'r') as filereader:
        for row in filereader:
            print(row.strip())

os.path.join 함수와 glob 함수를 이용하여 주어진 폴더에서 패턴(*.txt)과 일치하는 모든 파일을 찾는다.

D:\dev 폴더 내에 text1.txt, text2.txt 2개 파일이 있는 경우, 2개 모두를 읽어와서 출력함

 

[참고] Foundations for Analytics with Python - 파이썬 데이터 분석 입문

 

댓글