파 이 썬 테마 4 파일 기초 지식
파일 의 기본 동작
파일 이란 외부 미디어(예 를 들 어 디스크)에 저 장 된 데이터 의 집합 을 말 합 니 다.파일 의 작업 절 차 는 다음 과 같 습 니 다.
파일 열기(읽 기 방식\쓰기 방식)->파일 읽 기(읽 기\readline\\readlines\\write\writelines)->파일 닫 기
1.파일 열기
함수 open 을 호출 하여 파일 을 엽 니 다.함수 형식 은 다음 과 같 습 니 다.
file_obj=open(filename[,mode[,buffering]])파일 대상(file object)을 되 돌려 줍 니 다.
― filename 파일 이름(유일한 강제 매개 변수)
・원본 문자열 r'c:\\temp\test.txt'
문자열 옮 기기'c:\\\temp\\test.txt'
― mode 파일 모드
r 읽 기 모드
w 쓰기 모드
·a 추가 모드(지난번 뒤에 적 혀 있 음)
·+읽 기/쓰기 모드(파일 없 이 생 성,다른 모드 에 추가 가능)
·b 바 이 너 리 모드(다른 모드 에 추가 해서 사용 가능)
― 버퍼 링 버퍼(선택 가능 한 매개 변수)
・매개 변수=0 또는 False 입 출력 I/O 는 버퍼 가 없 으 며 모든 읽 기와 쓰기 동작 은 하 드 디스크 를 대상 으로 합 니 다.
・매개 변수=1 또는 True 입 출력 I/O 는 버퍼 가 있 고 메모리 가 하 드 디스크 를 대체 합 니 다.
・매개 변수>1 숫자 는 버퍼 의 크기 를 나타 내 고 단위 바이트.-1 또는 음 수 는 기본 버퍼 크기 를 나타 낸다.
메모:음성 편집 이나 그림 같은 바 이 너 리 파일 을 처리 할 때'b'바 이 너 리 모드 를 사용 하면'rb'에서 바 이 너 리 파일 을 읽 을 수 있 습 니 다.
2.파일 닫 기
close 방법 으로 파일 을 닫 는 것 을 기억 해 야 합 니 다.Python 은 데 이 터 를 캐 시 할 수 있 기 때 문 입 니 다.프로그램 이 갑자기 무 너 지면 데 이 터 는 파일 에 기록 되 지 않 습 니 다.안전 을 위해 파일 을 사용 한 후에 닫 습 니 다.파일 이 닫 히 는 지 확인 하려 면 try/finally 문 구 를 사용 하고 finally 자구 에서 close 방법 을 사용 해 야 합 니 다.예 를 들 어:
#Open your file
try:
#Write data to your file
finally:
file.close()
3.파일 읽 기함수 write 방법 을 호출 하여 파일 에 데 이 터 를 기록 합 니 다.함수 형식 은 다음 과 같 습 니 다.
file_obj.write(string)매개 변수 string 은 파일 에 저 장 된 부분 뒤에 추 가 됩 니 다.
file_obj.writelines(sequence_of_strings)매개 변수 만 전달 합 니 다.목록[]원본()사전{}
메모:사전 을 사용 할 때 문자열 의 순서 가 무 작위 로 나타 납 니 다.
# write()
file_obj=open('test.txt','w')
str1='hello
'
str2='world
'
str3='python'
file_obj.write(str1)
file_obj.write(str2)
file_obj.write(str3)
file_obj.close()
# writelines()
file_obj=open('test.txt','w')
str1='hello
'
str2='world
'
str3='python'
file_obj.writelines([str1,str2,str3])
file_obj.close()
# test.txt
hello
word
python
함수 read 방법 으로 데 이 터 를 읽 습 니 다.함수 형식 은 var=file 입 니 다.obj.read(),그 중 read 를 모두 읽 고 string 을 되 돌려 줍 니 다.readline 에서 한 줄 을 읽 고 string 을 되 돌려 줍 니 다.readlines 파일 의 모든 줄 을 읽 고 문자열 목록 을 되 돌려 줍 니 다.예:
# read
print 'Use the read'
file_obj=open('test.txt','r')
s=file_obj.read()
print s
file_obj.close
# readline
print 'Use the readline'
file_obj=open('test.txt','r')
line1=file_obj.readline()
line1=line1.rstrip('
')
print 'l1 ',line1
line2=file_obj.readline()
line2=line2.rstrip('
')
print 'l2 ',line2
line3=file_obj.readline()
line3=line3.rstrip('
')
print 'l3 ',line3
file_obj.close
# readlines
print 'Use the readlines'
file_obj=open('test.txt','r')
li=file_obj.readlines()
print li
file_obj.close
출력 내용 은 다음 과 같 습 니 다:
Use the read
hello
world
python
Use the readline
l1 hello
l2 world
l3 python
Use the readlines
['hello
', 'world
', 'python']
readline()함 수 를 사용 할 때 되 돌아 오 는 결 과 는'hello'문자열 입 니 다.rstrip 제거'를 사용 해 야 합 니 다.그렇지 않 으 면 print 출력 시 한 줄 이 비어 있 습 니 다.파일 을 쓸 때 포맷 으로 쓰 는 것 이 편리 합 니 다.예 를 들 어 s='xxx%dyy%s'%(28,'csdn').
#
fd=open('format.txt','w')
head="%-8s%-10s%-10s
"%('Id','Name','Record')
fd.write(head)
item1="%-8d%-10s%-10.2f
"%(10001,'Eastmount',78.9)
fd.write(item1)
item2="%-8d%-10s%-10.2f
"%(10002,'CSDN',89.1234)
fd.write(item2)
fd.close()
#
Id Name Record
10001 Eastmount 78.90
10002 CSDN 89.12
2.파일 과 순환앞에서 파일 의 기본 동작 과 사용 방법 을 소개 하 였 으 나,파일 작업 은 보통 순환 과 연결 되 어 있 습 니 다.다음은 while 순환 과 for 순환 으로 파일 작업 을 실현 하 는 것 을 소개 합 니 다.코드 는 다음 과 같 습 니 다.
# while
fr=open('test.txt','r')
str=fr.readline()
str=str.rstrip('
')
while str!="":
print str
str=fr.readline()
str=str.rstrip('
')
else:
print 'End While'
fr.close
# for
rfile=open('test.txt','r')
for s in rfile:
s=s.rstrip('
')
print s
print 'End for'
rfile.close()
그 중에서 for 는 교체 기 iterator 를 호출 합 니 다.교체 기 는 취 합 대상 의 각 요 소 를 순서대로 방문 하 는 방법 을 제공 합 니 다.Iter 함 수 를 통 해 대상 의 교체 기 를 얻 은 다음 next 함수(이 방법 으로 호출 할 때 어떠한 인자 도 필요 하지 않 습 니 다)를 통 해 다음 값 을 얻 을 수 있 습 니 다.for 는 iterator 를 옮 겨 다 닐 수 있 습 니 다.obj 는 List\String\Tuple\Dict\\File 을 포함 합 니 다.예 를 들 어:
s='www.csdn.NET'
si=iter(s) #
print si.next() # next , StopIteration
총화이 글 은 주로 Python 파일 의 기초 지식 을 다 루 고 있 습 니 다.파일 의 열기,읽 기,쓰기 닫 기,순환 읽 기 및 쓰기 파일 및 교체 기 를 사용 하 는 지식 을 포함 합 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.오류 나 부족 한 점 이 있 으 면 양해 해 주 십시오!
이상 은 본 고의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.또한 저 희 를 많이 지지 해 주시 기 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.