공부중

[python] File(파일) 본문

프로그래밍/파이썬 Python

[python] File(파일)

복습 2024. 8. 12. 10:41
728x90

 

1. 현재 작업 디렉토리 찾기 

import os
os.getcwd()

 

 

 

2. 파일 열기 

f = open("파일 경로")

 

 

3. 파일 닫기 

닫아도 되고 생략도 가능 

f.close()

 

 

 

4. 파일 읽기 

 

4.1 파일 내용을 한번에 읽기

f = open("file이래.txt")
s = f.read()
print(s)
f.close()

 

 

 

 

 

4.2 한줄씩 읽어서 문자열에 저장 

f = open("file이래.txt")
line = f.readline() 
while line: # 파일의 끝에 도달하면 False
    print(line, end = '')
    line = f.readline()
f.close()

 

 

 

 

 

 

4.3 파일의 반복자를 이용해서 한줄씩 처리 

f = open("file이래.txt")   # f = open("file이래.txt", "r")
for line in f:
    print(line, end = ' ')
f.close()

 

 

 

 

 

 

 

 

 

4.4 파일의 내용을 한줄씩 읽어 리스트로 구성 

f = open("file이래.txt")   # f = open("file이래.txt", "r")
# 파일 전체의 내용을 리스트로 만듦
lines = f.readlines() 
for line in lines:
    print(line, end = ' ')
f.close()

 

이런 리스트 형태 

 

 

 

 

5. 파일 쓰기 

f = open("t.txt", "w")
f.write("hello world")
f.close()

 

이러면 만약 t.txt가 없었으면 파일이 생긴다. 

 

 

5.1 파일의 내용을 지우고 새로 쓰기

 

 

 

 

여러줄 쓰려면 닫기 전에 쓰기 

 

 

 

 

5.2 파일의 기존 내용에 덧붙이기

위에서 본것처럼 w로 열면 지워지니까 a로 열면 됨 

 

 

 

 

 


 

6. with 

파이썬의 with문은 두 개의 관련된 연산들 사이에서 작업을 수행할 때 유용함

 

두 개의 관련된 연산이란 open()-close(), save()- restore() 등과 같은 작업을 의미

 

 

 

 

 

 

7. 인코딩 방식 

인코딩 관련 오류 :

UnicodeDecodeError

UnicodeEncodeError

 

 

 

 

8. 그니까 결론 기본 구조는... 

# 파일에 내용을 작성
with open("file이래.txt", 'a') as f:
    f.write("ddddddd")

# 파일 내용 읽기
with open("file이래.txt", 'r') as f:
    s = f.read()
    print(s)

 

 

 

 

파일에 내용을 작성한 후 읽고 싶다면, 읽기를 별도로 지원하는 모드로 파일을 열거나 읽기와 쓰기를 모두 지원하는 모드('r+')를 사용해야 합니다. 하지만 'r+' 모드는 파일이 존재하지 않을 때 파일을 생성하지 않는 점을 유의해야 합니다. 코드를 다음과 같이 수정할 수 있습니다:

# 'a+' 모드를 사용하여 파일 쓰기 및 읽기
with open("file이래.txt", 'a+', encoding='utf-8') as f:  # 유니코드 지원을 위해 encoding을 명시할 수 있습니다.
    f.write("ddddddd")  # 파일 끝에 내용 추가
    f.seek(0)  # 파일의 시작 위치로 포인터 이동
    s = f.read()  # 파일 전체 내용 읽기
    print(s)  # 내용 출력

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90