파일의 고급 응용 프로그램
파일의 고급 응용 프로그램
읽다
## wt
with open('36w.txt', 'wt', encoding='utf-8') as fw:
print(fw.readable())
print(fw.writable())
False
True
# w+t
with open('36w.txt', 'w+t', encoding='utf-8') as fw:
print(fw.readable())
print(fw.writable())
True
True
# r+t
with open('36w.txt', 'r+t', encoding='utf-8') as fr:
print(fr.readable())
print(fr.writable())
True
True
파일 내 포인터 이동
만약에 우리가 파일 내용 중간의 어떤 줄에 내용을 추가해야 한다고 가정하면 기초적인 r/w/a 모드를 사용하면 실현하기가 매우 어렵기 때문에 우리는 파일 내의 바늘을 이동해야 한다.
with open('36r.txt', 'r+t', encoding='utf-8') as fr:
fr.readline()
fr.write('nick ') #
하드디스크에 덮어쓰기, 즉 새로운 내용이 새로운 내용을 덮어쓴다는 것을 수정한 적이 없다.1.seek(offset, whence): offset은 파일 바늘의 편이량을 대표합니다. 편이량의 단위는 바이트 개수입니다.
# seek()
with open('36r.txt', 'rb') as fr:
print(f"fr.seek(4, 0): {fr.seek(4, 0)}")
# 0 ;1 ;2
# fr.seek(0,2) #
fr.seek(4, 0): 3
2.tell(): 매번 통계는 파일의 시작부터 현재 포인터가 있는 위치까지
# tell()
with open('36r.txt', 'rb') as fr:
fr.seek(4, 0)
print(f"fr.tell(): {fr.tell()}")
fr.tell(): 4
3.read(n): 모드에서만read(n), n은 문자 개수를 대표합니다. 이외에 파일 바늘과 관련된 것은 모두 바이트 개수입니다.
# read()
with open('36r.txt', 'rt', encoding='utf-8') as fr:
print(f"fr.read(3): {fr.read(3)}")
fr.read(3): sdf
4.truncate(n):truncate(n)는 파일을 차단하기 때문에 파일의 열기 방식은 쓸 수 있어야 하지만 w나 w+ 등으로 열 수 없습니다. 그러면 파일을 비울 수 있기 때문에truncate()는 r+나 a나 a+ 등 모드에서 효과를 테스트해야 합니다.그것의 참조물은 영원히 파일 헤더이다.그리고 truncate () 는 인자를 추가하지 않습니다. 파일을 비우는 것과 같습니다.
# truncate()
with open('36r.txt', 'ab') as fr:
fr.truncate(2)
# 2 , 3 ,
# 2/3 , 1/3 ,
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.