2
GUI가있는 파일 다운로더를 작성하려고하는데 다운로드중인 파일의 진행 상태를 표시합니다. 텍스트 백분율, 진행률 표시 줄 또는 둘 다를 표시하고 싶습니다. 나는 이것이 파이썬에서 할 수 있다고 확신하지만, 나는 어떻게 확신 할 수 없다.GUI 진행 표시가있는 파일 다운로드 프로그램?
MS Windows XP에서 Python 2.6을 사용하고 있습니다.
GUI가있는 파일 다운로더를 작성하려고하는데 다운로드중인 파일의 진행 상태를 표시합니다. 텍스트 백분율, 진행률 표시 줄 또는 둘 다를 표시하고 싶습니다. 나는 이것이 파이썬에서 할 수 있다고 확신하지만, 나는 어떻게 확신 할 수 없다.GUI 진행 표시가있는 파일 다운로드 프로그램?
MS Windows XP에서 Python 2.6을 사용하고 있습니다.
가장 쉬운 진행 표시 줄 대화 상자가 아마 EasyDialogs for Windows 함께있을 것입니다 함께 urllib.urlretrieve()를 사용, 다운로드의 진행을 결정하기위한
(파이썬의 맥 버전에 포함되어있는 EasyDialogs 모듈과 동일한 API를 다음과)는 " reporthook ". 이 같은
뭔가 :
이 풍부한 GUI 인터페이스를 사용할 수 물론 다른 라이브러리의이다 (그러나 이것이 당신이 필요로하는 모든 경우 더 크거나 더 어렵습니다)import sys
from EasyDialogs import ProgressBar
from urllib import urlretrieve
def download(url, filename):
bar = ProgressBar(title='Downloading...', label=url)
def report(block_count, block_size, total_size):
if block_count == 0:
bar.set(0, total_size)
bar.inc(block_size)
urlretrieve(url, filename, reporthook=report)
if __name__ == '__main__':
url = sys.argv[1]
filename = sys.argv[2]
download(url, filename)
. 다운로드에도 동일하게 적용됩니다 : urllib보다 빠른 것 일지 모르지만 이것은 쉽고 stdlib에 포함되어 있습니다.
이 코드를 보내 주셔서 감사합니다. 그것은 매우 유용하다는 것을 증명합니다. 그러나 몇 가지 다른 질문이 있습니다. 1). 파일을 어디에 저장합니까? 나는 활성 디렉토리에서 가정합니까? 2). 이것을 Tkinter 창에 어떻게 통합시킬 수 있습니까? –
몇 가지 수정을했고이 코드는 완벽하게 작동했습니다! 감사!! –
그래, 코드를 사용하고 있지만 코드가 완료된 후에는 진행률 표시 줄 대화 상자가 닫히지 않습니다. 그럼, 난 그때 urlretrieve 라인,하지만 난 델 바를 넣어 다음 오류가 계속 : "중첩 범위에서 참조 된 변수 '막대'를 삭제할 수 없습니다 나는 주위를 움직이려고했지만 솔루션을 찾을 수 없습니다. –