1. 파일 열기
열기 모드:
f = open('test.txt','r')
#r, 읽기 전용 모드, file 파일이 없으면 오류가 보고됩니다.
f = open('test.txt','w')
#w, 쓰기 전용 모드, 파일이 없으면 오류가 발생합니다. 존재하면 파일을 생성하고 파일이 존재하면 원본 파일을 지웁니다
f = open('test.txt','x')
#x, python3의 새로운 모드입니다. 파일이 존재하면 오류가 발생합니다. 파일이 존재하지 않으면 파일을 생성하고
f = open('test.txt','a')
#a를 작성합니다. , 추가 모드, 파일이 존재하지 않을 때 파일 생성
인코딩 형식:
위 열기 모드, 기본 인코딩='utf-8', 파일이 깨질 때 파일을 열면 인코딩 형식이 일치하지 않아 발생할 수 있습니다
이때 인코딩 형식을 조정하여 파일을 읽을 수 있습니다
f=open('test.txt','r' ,encoding='utf-8')
f=open('test.txt',' r',encoding='gbk')
바이트 모드:
b 매개변수를 사용하면 파일이 바이트 모드로 열리고, b 매개변수가 적용되지 않으면 문자 모드로 파일이 열립니다. open
f=open('test.txt', 'wb')
f.write(b'xe7xbbxbfxe8x8cxb6')
f.close()
=> 바이트 단위 쓰기 test.txt
n = open('test.txt',' r',encoding='utf-8')
t = n.read()
print (t)
=> b 매개변수가 없으며 파일을 문자 모드로 읽습니다. , 녹차로 표시됩니다
2. 파일 작업
f=open('test.txt','r',encoding='utf-8 ')
f.seek()
=> 모드가 열리면 현재 포인터 위치를 지정된 위치로 이동합니다. b 매개변수를 사용하면 포인터가 없습니다. b 매개변수로 열면 포인터가 바이트 위치에 따라 이동합니다.
f.tell()
=> 현재 포인터 위치, 오픈 모드와는 관계 없음
f.flush()
=> Strong Flush, 일반적으로 파일을 쓰거나 수정할 때 먼저 캐시된 다음 쓰여집니다. 파일을 닫은 후 파일을 입력하세요. 이 기능을 사용할 때는 수정된 내용을
f.fileno
=> .truncate()
=>현재 포인터 위치 뒤의 모든 내용 자르기
3. 파일 닫기
방법 1:
f=open( 'test.txt','r',encoding='utf-8')
n = f.read()
f.close()
방법 2:
open('test.txt','r',encoding='utf-8') as f:
n =f.read()
with를 사용하면 파일 닫기 작업이 자동으로 수행됩니다
with를 사용하면 동시에 2개의 파일을 열 수 있습니다.
with open('test1 .txt','r',encoding='utf-8')을 f로, open('test2.txt','w',encoding='utf-8')을 h로:
data = f.read()
h.write(데이터)