출처: https://astrocosmos.tistory.com/202 [ASTROCOSMOS:티스토리] python 기법] 파일 읽고 쓰기 mkdir, read, write, writelines, readlines, readline :: 하나둘셋넷
728x90

python 기법] 파일 읽고 쓰기

 

홈 디렉토리 확인, 작업 디렉토리 확인, 디렉토리 내용 확인

# 홈 디렉토리 확인
from pathlib import Path

print(Path.home())

# 작업 디렉토리 확인
from pathlib import Path

print(Path.cwd())

# 디렉토리 내용 확인
from pathlib import Path

files = Path.cwd().glob('*')
for f in files:
    print(f)

 

기본적인 파일 읽고 쓰기

파일 쓰기

# 파일 열기
f = open('MyFile.txt', 'w')

# 파일 쓰기
f.write('안녕하세요?\n')

# 파일 닫기
f.close()

 

디렉토리 만들기

# 디렉토리 만들기
Path('Files').mkdir(exist_ok=True)

 

파일 열기, 쓰기, 닫기

# 파일 열기
f = open('Files/MyFile.txt', 'w')

# 파일 쓰기
f.write('모두들 안녕하세요?\n')

# 파일 닫기
f.close()

 

파일 읽기

# 파일 열기
f = open('MyFile.txt', 'r')

# 내용 읽기
print(f.read())

# 파일 닫기
f.close()

 

경로 지정해서 읽기

# 파일 열기
f = open('Files/MyFile.txt', 'r')

# 내용 읽기
print(f.read())

# 파일 닫기
f.close()

 

파일 내용 추가

# 파일 열기
f = open('MyFile.txt', 'a')

# 내용 추가
f.write('만나서 반갑습니다!')

# 파일 닫기
f.close()

 

x 모드, 같은 파일이 있으면 오류 발생

# 파일 열기 
f = open('MyFile.txt', 'x')

# 내용 쓰기
f.write('만나서 반갑습니다!')

# 파일 닫기
f.close()

 

# 오류 핸들링
try: 
    f = open('MyFile.txt', 'x')
    f.write('만나서 반갑습니다!')
    f.close()
except FileExistsError:     #  이미 파일이 있으면
    print('같은 이름의 파일이 있습니다.')
else:                       # 그렇지 않으면
    print('파일 쓰기 성공했습니다.')
finally:                    # 마무리
    print('수고하셨습니다.')

 

 

 

파일 다루기 실습

 

python 파일 만들기

# 파일 열기
f = open('Python.txt', 'w')

 

내용 입력

# 내용 쓰기
f.write('''<파이썬과 나>  
시인: 홍길동''')

# 파일 닫기
f.close()

 

내용 추가

# 파일 열기
f = open('Python.txt', 'a')

# 내용 추가
f.write('''
어느날 
파이썬이 나에게 왔다.
많이 낯설었다.
지금은 나와 하나가 되었다.
파이썬이 나고,
내가 파이썬이다.''')

# 파일 닫기
f.close()

 

ㆍ f = open('Python.txt', 'a')에서 'a'는 파일을 "추가 모드(append mode)"로 열기 위한 파일 모드

 

writelines()

# 파일 여러 줄 쓰기
hello = ['안녕하세요?\n', '만나서 반갑습니다!\n', '우리 사이좋게 잘 지내요.\n']
f = open('MyFile.txt', 'w')
f.writelines(hello)
f.close()

 

내용 확인

# 파일 읽기
f =  open('MyFile.txt', 'r') 
print(f.read())
f.close()

 

readlines()

# 파일 한 번에 읽기
f = open('MyFile.txt', 'r')
result = f.readlines()
f.close()

# 내용 확인
print(result)
# 반복문으로 한 행씩 표시
for txt in result:
    print(txt, end='')

 

readline()

ㆍ 행 단위로 읽기

# 파일 읽기
f = open('MyFile.txt', 'r')

# 내용 읽기
print(f.readline(), end='')
print(f.readline(), end='')
print(f.readline(), end='')

# 파일 닫기
f.close()

 

ㆍ 반복문을 이용해 모든 행 읽기

# 파일 읽기
f = open('MyFile.txt', 'r')
result = f.readline()

# 반복문으로 한 행씩 읽어 표시
while result:
    print(result, end='')
    result = f.readline()

# 파일 닫기
f.close()

 

 

728x90

'Python 기법' 카테고리의 다른 글

python 기법] 워드 클라우드  (1) 2023.12.03
python 기법] 이메일  (0) 2023.11.29

+ Recent posts