파이썬으로 파일 다루기

알파카파카·2025년 1월 15일


그냥 새롭게 사용하는게 있으면 추가하기

파일 접근

# 접근할 수 있는 경로에 있는 test.txt 파일 읽기
# mode는 r(읽기), w(쓰기), a(추가)와
# t(텍스트), b(바이너리) 결합하여 사용
f = open('test.txt', mode='wt', encoding='utf-8')

파일 쓰기

# 파일을 쓰기 모드로 열기
ww = open('test_write.txt', mode='wt', encoding='utf-8')

# 쓰기
ww.write('세상아 안녕?')

# 일단 열었으면 꼭 닫아주기
ww.close()

파일 읽기

# 파일을 읽기 모드로 열기
rr = open('test_read.txt', mode='rt', encoding='utf-8')

# 읽기 (글자수 대로)
rr.read(글자수)	# 비어있으면 전체 내용 리턴

# 읽기 (line 별로)
rr.readline()

# 읽기 (줄 마다 리스트 형태로)
rr.readlines()

# 읽기는 문장을 따라가는 포인터를 기준으로 읽어들이기 때문에 
# 포인터의 위치를 바꿔주자
rr.seek(0)	# 포인터를 맨 앞으로 위치

# 열었으니 꼭꼭 닫아주기
rr.close()

파일 추가하기

# 파일을 추가 모드로 열기
add_file = open('test_add.txt', mode='at', encoding='utf-8')

# 파일을 추가하기
add_file.writelines(['추가할 문자를 입력해요', '리스트 원소 별로 개행이 되지 않아요', '개행을 하려면 \n 해줘야 해요'])

# 열었으니 닫아주자
add_file.close()
# 여러 줄을 한번에
for line in r:
    print(line)	# print 문으로 찍으면 당연히 줄마다 개행이 됩니다.
    
# with 사용한 공백문자 제거
with open('test.txt', 'rt', encoding='utf-8') as c :
    for line in c:
        cur_line = line.strip().split('\t')
        print(cur_line)

파일 조작

  1. 나눠서 리스트로 만들기
f = open('./code.txt', 'rt', encoding='utf-8')

line = f.readline()
split_list = line.split('\t')	# 탭을 기준으로 나눠서 리스트화
  1. 공백 문자 제거
# 공백 문자는 띄어쓰기, 탭, 개행(\n) 등 을 포함한다.
edited_line = line.strip()	# 문자열 양 옆의 공백 문자 제거

edited_line = line.rstrip()	# 문자열 오른쪽의 공백 문자 제거

edited_line = line.lstrip()	# 문자열 왼쪽의 공백 문자 제거
  1. 리스트를 문자열로 바꿔서 출력
print('\t'.join(split_list)) # 탭을 리스트 요소 사이에 넣어서 문자열로 바꿔줌

print('---'.join(split_list))	# 리스트 요소 사이마다 '---' 이 들어감
profile
타닥,,, 타다닥,,,,,,,

0개의 댓글