텍스트 파일 이어붙이기

두 개의 텍스트 파일을 이어붙이자.

첫 파일의 마지막 줄을 두 번째 파일에서 찾은 다음, 그 이후 부분을 첫 파일에 이어붙인다.

#-*- coding:utf-8 -*-
import os, sys

def main(argv):
    found = False
    isAppend = False

    if len(argv) < 3:
        print("파일 이름 두 개를 주세요.")
        return

    fileToName = argv[1]
    fileFromName = argv[2]

    if not os.path.exists(fileToName):
        print("추가할 파일이 존재하지 않습니다.")
        return

    if not os.path.exists(fileFromName):
        print("입력할 파일이 존재하지 않습니다.")
        return

    fileTo = open(fileToName, 'a+')
    fileTo.seek(0)
    while True:
        lineTo = fileTo.readline()
        if not lineTo: break
        # To 파일의 마지막 줄 기억
        lineTo2 = lineTo

    fileFrom = open(fileFromName, 'r')
    while True:
        lineFrom = fileFrom.readline()
        if not lineFrom: break

        # To 파일의 마지막 줄과 같은 줄을 찾았다면
        if lineFrom == lineTo2:
            found = True
            print("=:" + lineTo2)
        if found == True:
            # 같은 줄을 Skip하기 위해서
            if isAppend == False:
                isAppend = True
            else:
                print("+:" + lineFrom)
                fileTo.write(lineFrom)
    fileFrom.close()

    fileTo.close()
    
if __name__ == '__main__':
    main(sys.argv)

댓글 쓰기

0 댓글