입력과 출력
파일
파일 클래스의 객체를 생성하여 파일을 열 수 있으며, 파일 클래스의 read, readline, write 메소드를 사용하여 읽고 쓸 수 있습니다. 파일을 적절하게. 파일을 읽고 쓰는 기능은 파일을 열 때 지정한 모드에 따라 다릅니다. 마지막으로, 파일 작업이 끝나면 close 메서드를 호출하여 파일 작업이 끝났음을 Python에 알립니다.
파일 사용 예는 다음과 같습니다.
Python 코드
poem = '''''\Programming is fun When the work is done if you wanna make your work also fun:use Python!''' f = file('poem.txt', 'w') f.write(poem) f.close() f = file('poem.txt') while True: line = f.readline() if len(line) == 0: break print line, f.close()
출력:
Python 코드
Programming is fun When the work is done if you wanna make your work also fun: use Python!
먼저 무엇보다도 열려는 파일과 모드가 포함된 파일 클래스의 인스턴스를 생성하여 지정할 수 있습니다. 모드는 읽기 모드('r'), 쓰기 모드('w') 또는 추가 모드('a')일 수 있습니다. 사용할 수 있는 다른 모드도 많이 있습니다. 이에 대해 자세히 알아보려면 도움말(파일)을 사용하세요. 쓰기 모드에서 파일을 연 다음 파일 클래스의 쓰기 메소드를 사용하여 파일을 쓰고 마지막으로 close를 사용하여 파일을 닫습니다.
다음으로 동일한 파일을 다시 열어 파일을 읽습니다. 모드를 지정하지 않으면 읽기 모드가 기본 모드로 사용됩니다. 루프에서는 readline 메서드를 사용하여 파일의 각 줄을 읽습니다. 이 메서드는 줄 끝에 개행 문자를 포함하는 완전한 줄을 반환합니다. 따라서 빈 문자열이 반환되면 파일의 끝에 도달했다는 의미이므로 루프를 중지합니다.
파일에서 읽은 내용이 이미 개행 문자로 끝나기 때문에 인쇄 문에서 쉼표를 사용하여 자동
개행 문자를 제거합니다.
마지막으로 close로 파일을 닫습니다.
저장
Python은 pickle이라는 표준 모듈을 제공합니다. 이를 사용하면 Python 객체를 파일에 저장한 다음 그대로 검색할 수 있습니다. 이를 객체를 지속적으로 저장한다고 합니다.
cPickle이라는 또 다른 모듈이 있습니다. 이 모듈은 C로 작성되어 훨씬 빠릅니다(pickle보다 1000배 빠릅니다). 그 중 무엇이든 사용할 수 있지만 여기서는 cPickle 모듈을 사용하겠습니다. 우리는 두 모듈을 줄여서 피클 모듈이라고 부릅니다.
저장 및 검색 예시는 다음과 같습니다.
Python 코드
import cPickle as p shoplistfile = 'shoplist.data' shoplist = ['apple', 'mango', 'carrot'] f = file(shoplistfile, 'w') p.dump(shoplist, f) f.close() del shoplist f = file(shoplistfile) storedlist = p.load(f) print storedlist
출력:
Python 코드
['apple', 'mango', 'carrot']
첫 번째 모두, 우리는 import..as 구문을 사용했습니다. 이는 더 짧은 모듈 이름을 사용할 수 있도록 하는 편리한 방법입니다. 이 예에서는 한 줄만 변경하여 다른 모듈(cPickle 또는 pickle)로 전환할 수도 있습니다! 프로그램의 나머지 부분에서는 간단히 이 모듈을 p라고 부릅니다.
객체를 파일에 저장하려면 먼저 파일 객체를 쓰기 모드로 연 다음 저장 모듈의 덤프 함수를 호출하여 열린 파일에 객체를 저장합니다. 이 과정을 저장이라고 합니다.
다음으로 피클 모듈의 로드 함수 반환을 사용하여 객체를 검색합니다. 이 프로세스를 저장소 검색이라고 합니다.