기본 경로 확인(홈 디렉토리)
from pathlib import Path
print(Path.home())
Python
복사
C:\Users\User
작업 디렉토리 경로 확인
print(Path.cwd())
Python
복사
C:\Users\User\python
디렉토리 안 파일 확인
files = Path.cwd().glob('*')
# 또는 Path.cwd().glob('*.*')
# text 확장자 파일 확인 Path.cwd().glob('*.txt')
for f in files:
print(f)
Python
복사
1. 기본적인 파일 읽고 쓰기
1-1. 파일 열기 / 쓰기 / 닫기
•
f = open(’파일경로명’, ‘w’)
•
f.write(’파일에 쓸 문장’)
•
f.close()
# 기존에 파일이 없다면 새로 만들고
# 기존에 있다면 기존 파일을 없애고 새로 생성
f = open('MyFile.txt', 'w')
# 파일 쓰기
f.write('안녕하세요?\n')
# 파일 닫기
f.close()
Python
복사
참고. 현 디렉토리에 새로운 디렉토리(폴더) 만들기
# 현 디렉토리에 Files 라고 하는 폴더를 생성
Path('Files').mkdir(exist_ok=True)
Python
복사
1-2. 파일 열기 / 읽기 / 닫기
•
f = open(’파일경로명’, ‘r’)
•
print(f.read())
•
f.close()
# 파일 열기
f = open('Files/MyFile.txt', 'r')
# 내용 읽기
print(f.read())
# 파일 닫기
f.close()
Python
복사
1-3. 파일 내용 추가
•
f = open(’파일경로명’, ‘a’)
기존 파일이 있을 경우, 내용을 추가하고
기존 파일이 없을 경우, 새 파일을 만들어준다. (
‘w’)
•
f.write(’파일에 쓸 문장’)
•
f.close()
# 파일 열기
f = open('MyFile.txt', 'a')
# 내용 추가
f.write('만나서 반갑습니다!')
# 파일 닫기
f.close()
Python
복사
1-4. 파일이 존재할 경우, 오류 발생
•
f = open(’파일 경로명’, ‘x’)
•
f.wirte(’파일에 쓸 문장’)
•
f.close()
# 파일 열기
f = open('MyFile.txt', 'x')
# 내용 쓰기
f.write('만나서 반갑습니다!')
# 파일 닫기
f.close()
Python
복사
x 모드로 파일을 열 경우, 기존 파일이 있다면 오류를 발생시킨다.
기존 파일이 없다면, ‘w’ 모드와 같이 새 파일을 생성한다.
FileExistsError: [Errno 17] File exists: 'MyFile.txt'
2. 파일을 다루는 편리한 메서드
2-1. writelines() 메서드
행 리스트를 파일에 기록할 수 있다.
hello = ['안녕하세요?\n', '만나서 반갑습니다.\n', '우리 사이좋게 잘 지내요.\n']
f = open('MyFile.txt', 'w')
f.writelines(hello)
f.close()
Python
복사
f = open('MyFile.txt', 'r')
print(f.read())
f.close()
Python
복사
안녕하세요?
만나서 반갑습니다.
우리 사이좋게 잘 지내요.
2-2. readlines() 메서드
모든 행을 한번에 읽을 수 있다.
결과는 리스트가 되므로, 반복문으로 한 행씩 읽을 수 있다.
f = open('MyFile.txt', 'r')
result = f.readlines()
f.close()
print(result)
Python
복사
['안녕하세요?\n', '만나서 반갑습니다!\n', '우리 사이좋게 잘 지내요.\n']
# 리스트에 담긴 readlines로 읽어들인 문장들을 한 행씩 출력해보자.
for txt in result:
print(txt, end='')
Python
복사
안녕하세요?
만나서 반갑습니다.
우리 사이좋게 잘 지내요.
2-2. readline() 메서드
행 단위로 읽을 수 있다.
결과는 문자열이 된다.
f = open('MyFile.txt', 'r')
print(f.readline())
print(f.readline())
print(f.readline())
f.close()
Python
복사
안녕하세요?
만나서 반갑습니다!
우리 사이좋게 잘 지내요.
# 위의 readline을 반복문을 이용해서 모든 행을 읽어들이는 코드
f = open('MyFile.txt', 'r')
result = f.readline()
while result: # 즉, 값이 있을 때까지
print(result, end='')
result = f.readline()
f.close()
Python
복사
안녕하세요?
만나서 반갑습니다.
우리 사이좋게 잘 지내요.