python 필수 지식 파일 작업(모음 집 권장)
1.1 파일 열기 및 닫 기
f=open('text.txt','w')# text.txt , f
f.close()#
메모:파일 을 열 고 닫 아야 합 니 다.그렇지 않 으 면 이 파일 을 계속 조작 할 수 없습니다.with
컨 텍스트 관 리 는 파일 을 처리 하 는 과정 에서 이상 이 발생 하 든 안 하 든 with 문 구 를 실행 한 후에 열 린 파일 핸들 을 닫 을 수 있 습 니 다.
def main():
with open('text.txt','w+') as f:
content=f.read()#
print(content)#
main()#
오류:io.Unsupported Operation:not readable파일 을
open
로 열 었 기 때문에w
기록 모드 를 호출 했 습 니 다.아래read
를 사용 하 는 것 은 권한 이 없습니다.w+
읽 기와 쓰기 모드 를 사용 해 야 합 니 다.1.2 파일 읽 기/쓰기
1.2.1 파일 쓰기
파일 쓰기
write
기본 인 코딩 은gbk
중국어 인 코딩 입 니 다.가장 좋 은 습관 은 우리 가 파일 을 하나 더 열 때 인 코딩 형식encoding
을 지정 하 는 것 입 니 다.그렇지 않 으 면 오류 가 발생 할 수 있 습 니 다.
f=open('text.txt','w',encoding='utf-8')#w
f.write(' , python')# text.txt
f.close()
#writelines()
f=open('text.txt','a',encoding='utf-8')#a
그 는 자동 으로 text 파일 을 생 성하 여 쓸 것 이다.writelines 방법 은 대상 을 교체 하고 파일 을 교체 해서 쓸 수 있 습 니 다.
f.write('\r
')
f.writelines([' ',' ',' '])
print('
')
f.close()
1.2.2 파일 읽 기
read(num):지정 한 문자 개 수 를 읽 는 것 을 나타 내 는 숫자 를 매개 변수 로 입력 합 니 다.열:read(1)
readlines():줄 별로 읽 고 모든 내용 을 한꺼번에 읽 으 며 목록 을 되 돌려 줍 니 다.줄 마다 내용 을 하나의 요소 로 합 니 다.
readline():줄 별로 읽 지만 한 번 에 한 줄 만 읽 습 니 다.
#
f=open('text.txt','r',encoding='utf-8')#
print(f.read())#
f.close()
메모:UnicodeDecodeError:'gbk'codec can't decode byte 0xad in position 52:illegal multibyte sequence error해결:open 에 encoding='utf-8'을 넣 으 면 됩 니 다.
파일 백업 스 크 립 트
스 크 립 트 를 이용 하여 자동 백업 을 완료 하고 파일 이름 을 입력 하 라 고 요구 하 며 자동 백업 을 완료 합 니 다.
def copyfile():
#
old_file=input(' :')
file_list=old_file.split(".")#split() , text.txt , ['text', 'txt']
new_file=file_list[0]+'_ .'+file_list[1]# ,
old_f=open(old_file,'r')#
new_f=open(new_file,'w')# ,
new_f.write(old_f.read())#
#
old_f.close()
new_f.close()
copyfile()# text_ .txt ,
큰 파일 을 처리 하면 한 번 에 모든 내용 을 읽 는 것 은 적절 하지 않 습 니 다.위의 코드 를 바탕 으로 코드 를 개선 하여 큰 파일 을 백업 해도 메모리 가 가득 차지 않도록 합 니 다.
def copyfile2():
#
old_file=input(' ')
#
if not old_file:
print(' ')
old_file = input(' :')
else:
file_list=old_file.split(".")
print(file_list)
# ,
if len(file_list)<2:# 2, .
new_file=file_list[0]+'_ 2'
pass
else:#
new_file=file_list[0]+'_ 2.'+file_list[1]
#
try:
# ,
with open(old_file,'r') as old_f, open(new_file,'a') as new_f:
while True:
content=old_f.read(2048)# 2048
new_f.write(content)#
# 2048
if len(content)<2048:
break#
except Exception as e:
print(e)# ,
copyfile2()# text_ 2.txt ,
text.txt 를 백업 하 였 습 니 다.총결산
python 필수 지식 에 관 한 파일 작업 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 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에 따라 라이센스가 부여됩니다.