>백엔드 개발 >파이썬 튜토리얼 >Python 기본 사항: 파일 읽기 및 쓰기

Python 기본 사항: 파일 읽기 및 쓰기

巴扎黑
巴扎黑원래의
2017-04-01 13:29:331136검색

CPU와 메모리의 속도가 주변기기의 속도보다 훨씬 빠르기 때문에 IO 프로그래밍에는 심각한 속도 불일치 문제가 있습니다. 예를 들어, 100M 데이터를 디스크에 쓰고 싶다면 CPU가 100M 데이터를 출력하는 데는 0.01초 밖에 걸리지 않지만, 디스크가 100M 데이터를 수신하는 데는 10초가 걸릴 수 있습니다. 두 가지 방법이 있습니다. 첫 번째는 CPU가 대기하는 것입니다. 즉, 프로그램은 후속 코드의 실행을 일시 중지하고 10초 후에 100M의 데이터가 디스크에 기록될 때까지 기다린 다음 실행을 계속합니다. 이 모드를 동기식이라고 합니다. IO; 다른 방법은 CPU가 기다리지 않고 디스크에 "항상 천천히 쓰니 걱정하지 마세요. 계속해서 다른 작업을 할 것입니다."라고 알려주는 것입니다. 따라서 후속 코드가 즉시 실행될 수 있습니다. 이 모드를 비동기식 IO 동기화라고 하며 비동기식 IO 실행 결과를 기다릴 것인지 여부에 차이가 있습니다. 비동기식의 장점은 높은 프로그램 성능이지만 단점은 프로그래밍 모델이 복잡하다는 것입니다. 생각해 보세요. 언제 "버거가 준비되었습니다"라고 알려야 하는지 알아야 하며, 알리는 방법은 다양합니다. 웨이터가 찾아오면 콜백 모드입니다. 웨이터가 문자 메시지를 보내 알려준다면 계속해서 휴대폰을 확인해야 하는 폴링 모드입니다. 간단히 말해서, 비동기식 IO의 복잡성은 동기식 IO의 복잡성보다 훨씬 높습니다. 마치 맥도날드에 가서 음식을 주문하고 "버거 하나 드세요"라고 말하면 웨이터가 죄송합니다. 버거를 신선하게 조리해야 한다고 말하는 것과 같습니다. 그리고 5분 정도 기다려야 하니 계산대에 서세요. 저는 5분 정도 기다렸다가 버거를 받고 쇼핑몰로 갔습니다. "버거 드세요"라고 말하면 웨이터가 버거를 먹으려면 5분 정도 기다려야 한다고 말합니다. 먼저 쇼핑몰에 가셔도 됩니다. 준비가 되면 바로 다른 일을 하러 가실 수 있도록 알려드리겠습니다. 쇼핑몰로) 비동기 IO입니다. 9.1 파일 읽기 및 쓰기 #!/usr/bin/pythonpoem = '''1.dog2.cat3.rabbit'''f=file('/tmp/poem','w')f.write(poem)f. close () # 출력 파일 내용, 방법 1 #f=open('/tmp/poem','r')#for line in f.readlines():# print(line.strip())#f.close( )
#파일 내용 출력, 방법 2 f=file('/tmp/poem')while True: line = f.readline() if len(line)==0: break print(line.strip()) f .close() 파일 쓰기는 파일 읽기와 동일합니다. 유일한 차이점은 open() 함수를 호출할 때 식별자 'w' 또는 'wb'를 전달하는 것은 텍스트 파일을 쓰거나 바이너리 파일을 쓰는 것을 의미한다는 것입니다. :>>> ; f = open('/Users/michael/test.txt', 'w')
>>> f.write('안녕하세요!')
> ;>> f .close() write()를 반복적으로 호출하여 파일에 쓸 수 있지만, 파일을 닫으려면 f.close()를 호출해야 합니다. 파일을 쓸 때 운영 체제는 데이터를 즉시 디스크에 쓰지 않고 메모리에 캐시했다가 여유 공간이 있을 때 천천히 쓰는 경우가 많습니다. close() 메서드가 호출되는 경우에만 운영 체제는 기록되지 않은 모든 데이터가 디스크에 기록되도록 보장합니다. close() 호출을 잊어버리면 데이터의 일부만 디스크에 기록되고 나머지는 손실됩니다. 따라서 안전을 위해 with 문을 사용하는 것이 좋습니다. with open('/Users/michael/test.txt', 'w') as f:
f.write('Hello, world!')
close( )를 사용하면 두 가지 이점이 있습니다. 1. 열려 있는 파일 수를 닫습니다. 2. 메모리의 데이터가 하드 디스크에 기록되었는지 확인합니다. f.flush()는 닫지 않고도 메모리의 내용을 하드 디스크에 쓸 수 있습니다. 파일 요약 Python에서 파일 읽기 및 쓰기는 open() 함수에 의해 열린 파일 객체를 통해 수행됩니다. 파일 IO를 조작하려면 with 문을 사용하는 것이 좋은 습관입니다.

위 내용은 Python 기본 사항: 파일 읽기 및 쓰기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:Python 기본: 연산자다음 기사:Python 기본: 연산자