많은 모듈을 사용하여 전체 파일을 메모리로 가져 오거나 파일의 내용을 처리하는 동안 흐리게 만듭니다. 이런 종류의로드 진행 상황을 추적 할 방법이 있는지 궁금합니다. 아마도 콜백을 사용하는 래퍼 클래스일까요?파이썬에서 파일 로딩 진행 추적하기
3
A
답변
7
파일 크기를 결정한 다음 총계를 읽은 바이트 수로 나누면됩니다. 이처럼 :
import os
def show_progress(file_name, chunk_size=1024):
fh = open(file_name, "r")
total_size = os.path.getsize(file_name)
total_read = 0
while True:
chunk = fh.read(chunk_size)
if not chunk:
fh.close()
break
total_read += len(chunk)
print "Progress: %s percent" % (total_read/total_size)
yield chunk
for chunk in show_progress("my_file.txt"):
# Process the chunk
pass
편집 : 나는 그것이 최선의 코드가 아닙니다 알아,하지만 난 그냥 개념을 보여주고 싶었다.
2
실제로 "가져 오기"("읽지 않음")를 의미하는 경우 가져 오기 모듈 정의를 무시할 수 있습니다. 타이밍 기능을 추가 할 수 있습니다.
imp 모듈을 참조하십시오.
"읽기"를 의미하는 경우, 파이썬 파일을 파일과 비슷한 래퍼로 쉽게 래핑 할 수 있습니다. 파일은 너무 많은 메소드를 노출하지 않습니다. 타이밍 데이터를 얻기 위해 흥미로운 것을 무시할 수 있습니다.
>>> class MyFile(file):
... def read(self,*args,**kw):
... # start timing
... result= super(MyFile,self).read(*args,**kw)
... # finish timing
... return result
관련 문제
- 1. 아약스 로딩 진행 애니메이션
- 2. 파일 열기 추적하기
- 3. Webbrowser : Ajax 로딩 진행 요소 받기
- 4. slideToggle 효과가있는 로딩 파일
- 5. GUI 진행 표시가있는 파일 다운로드 프로그램?
- 6. Visual Studio에서 컴파일 된 실행 파일 추적하기
- 7. 클로저 추적하기
- 8. 정보 추적하기
- 9. 파일 업로드를위한 ASIHTTPRequest 진행 위임
- 10. Struts : 진행 막대가있는 파일 업로드
- 11. 파일 업로드 - 진행 표시 줄?
- 12. 프로그램 시작시 자동 로딩 파일
- 13. ModRewrite로 DocumentRoot 뒤에 파일 로딩
- 14. 비동기 .js 파일 로딩 구문
- 15. iOS에서 설정 및 게임 진행 저장 및 로딩
- 16. 느린 비 Ajax 페이지에 대한 가짜 로딩/진행 막대
- 17. 안드로이드에서 로딩 맵뷰의 진행 상태를 얻는 방법은 무엇입니까?
- 18. 파이썬에서 파일 처리
- 19. 파이썬에서 출력 파일 리디렉션
- 20. 파이썬에서 lzma 파일 만들기
- 21. 파이썬에서 파일 잠금?
- 22. 파이썬에서 파일 열기
- 23. 파이썬에서 파일 내용 비교하기
- 24. 파이썬에서 손상된 파일 읽기.
- 25. 파이썬에서 이진 파일 읽기
- 26. 파이썬에서 파일 속성 검사하기
- 27. 파이썬에서 파일 읽기
- 28. 파이썬에서 XML 파일 수정
- 29. 파이썬에서 파일 열기
- 30. 파이썬에서 파일 작업