파일 객체 = open("파일이름.확장자", "모드")
with open("파일명", "모드") as 파일 객체 :
모드 | 의미 |
---|---|
r | 읽기 모드로 파일 열기 (기본값) |
w | 쓰기 모드로 파일 열기 - 같은 이름의 파일이 있으면 기존 내용 모두 삭제 |
x | 쓰기 모드로 파일 열기 - 같은 이름의 파일이 있으면 오류 발생 |
a | 추가 모드로 파일 열기 - 같은 이름의 파일이 없으면 w와 기능이 같음 |
b | 바이너리 파일 모드로 파일 열기 |
t | 텍스트 파일 모드로 파일 열기 (기본값) |
모드는 혼합하여 사용도 가능하다.
write()
: ()
안의 내용을 파일에 작성f = open('./myFile.txt', 'w') # 파일 생성 : 본 폴더에 쓰기 모드로 생성
f.write(x) # 내용 작성 - 변수 x에 저장된 값 작성
f.close() # 파일 닫기 (저장)
read()
: 파일의 내용 전체를 문자열로 반환readline()
: 파일의 문장 한 라인을 읽어 문자열로 반환readlines()
: 파일의 모든 라인을 읽어서 각각의 요소를 갖는 리스트로 반환read(n)
: n번재 글짜까지 호출f = open('./myFile.txt', 'r') # 파일 오픈 : 본 폴더에서 읽기 모드로 오픈
read_all = f.read() # 모든 내용 호출
read_one_line = f.readline() # 첫 번째 줄 호출
read_line_text = f.readline(n) # 첫 번째 줄 n번재 글짜까지 호출
f.close() # 파일 닫기 (저장)
f = open('./myFile.txt', 'a') # 파일 오픈 : 본 폴더에 추가 모드로 생성
f.write(x) # 내용 작성 - 변수 x에 저장된 값 추가 작성
f.close() # 파일 닫기 (저장)
with open("파일명", "열기 모드") as 파일 객체 :
with open('./myFile.txt', 'r') as f :
reading = f.readline()
동시에 여러 개 여는 것도 가능하다.
with open('./file1.txt', 'r') as f, open('./file2.txt', 'w') as f2 :
reading = f.readline()
writing = f2.write(reading)
f = open('file.txt', 'w') # (1) 파일을 쓰기 모드로 열기
for num in range(1, 4) : # (2) for문 : num이 1~3까지 반복
text = "num" # 저장할 문자열 생성
f.write(text) # (3) 파일에 문자열 저장
f.close() # (4) 파일 닫기
1
2
3
먼저 해당 파일이 있는지 확인한다.
!type c:\folder\coffee.txt
텍스트 파일을 연 후에 한 줄씩 읽고 출력한다.
file_name = 'c:\folder\coffee.txt'
f = open(file_name) # 파일 열기
for line in f : # 한 줄씩 읽어서 line 변수에 할당
print(line, end="") # 한 줄씩 출력
f.close() # 파일 닫기
날짜 에스프레스 아메리카노 카페라떼
10.15 10 50 45
10.16 12 45 32
10.17 11 53 38
첫 번째 줄의 항목 이름을 가져와 빈칸을 기준으로 나누고, 두 번째 줄 이후의 항목 값을 처리한다.
# 첫 번째 줄의 항목 이름을 가져와 빈칸을 기준으로 나누기
f = open(file_name) # 파일 열기
header = f.readline() # 데이터의 첫 번째 줄을 읽음
hList = header.split() # 첫 줄의 문자열 분리 후 리스트로 변환
# 두 번째 줄 이후의 항목 값 처리하기
e = [] # 커피 종류별로 빈 리스트 생성
a = []
c = []
for line in f : # 두 번째 줄부터 데이터를 읽어서 반복적으로 처리
dataList = line.split() # 문자열에서 공백을 제거해 리스트로 변환
# 커피 종류별로 정수로 변환한 후, 리스트의 항목으로 추가
e.append = (int(dataList[1])])
a.append = (int(dataList[2])])
c.append = (int(dataList[3])])
f.close() # 파일 닫기
3일간 메뉴별 전체 판매량과 하루 평균 판매량을 구한다.
total_sum = [sum(e), sum(a), sum(c)]
total_mean = [sum(e)/len(e), sum(a)/len(a), sum(c)/len(c)]
for k in range(len(total_sum)) :
print(f'{hList[k+1]} 전체 판매량 {total_sum[k]}, 하루 평균 {total_mean[k]}')
에스프레소 전체 판매량 33, 하루 평균 11.0
아메리카노 전체 판매량 148, 하루 평균 49.3
카페라떼 전체 판매량 115, 하루 평균 38.3
컴퓨터의 파일 시스템은 하나의 뿌리에서 시작해서 여러 개의 가지로 뻗어나가는, 나무 같은 구조를 가지고 있다.
파일 시스템의 뿌리는 항상 '루트(root)'라고 합니다. 결국 컴퓨터의 모든 파일은 루트 안에 있는 거죠. 그리고 프로그래밍에서는 폴더를 '디렉토리(directory)'라고도 합니다.
파일 경로는 컴퓨터에 있는 파일의 정확한 위치를 뜻합니다.
▪ Windows :
\
로 표기folder\file2.py
로 표기C:\
혹은 D:\
로 표기▪ macOS :
/
로 표기합니다. 예를 들어 folder 디렉토리 안의 file2.py는 folder/file2.py
로 표기합니다./
로 표기합니다.▪ 절대 경로
▪ 상대 경로
.
or ..
으로 시작.
- 현재 디렉토리..
- 상위 디렉토리 (현재 디렉토리를 포함하고 있는 디렉토리)