Progress 라이브러리 설치 및 소개
1. Progress 라이브러리 설치
Progress는 타사 Python 라이브러리입니다. 설치하려면 터미널에서 pip 명령을 실행하세요.
pip install progress
2.진행률 진행률 표시줄 효과 표시
공식 웹사이트에서는 다음 애니메이션과 같이 진행률이 달성할 수 있는 다양한 진행률 표시줄 효과를 확인할 수 있습니다.
progress는 진행률 표시줄을 구현합니다.
# coding=utf-8 from progress.bar import Bar import time # 创建Bar类的实例 bar = Bar('MyProcess:', max=100) # 循环处理某业务,调用bar对象的next()方法,循环次数等于max for _ in range(100): # Do some work time.sleep(0.05) bar.next() # 循环完成后调用finish()方法 bar.finish()
실행 효과:
진행률 라이브러리의 bar.py에서 Bar 클래스를 가져오고 인스턴스화하는 것은 매우 간단합니다. 객체를 생성한 후 루프 내에서 비즈니스를 처리합니다. 그리고 next() 메서드를 호출하고, 처리가 완료된 후 Finish() 메서드를 호출하여 진행률 표시줄을 종료합니다.
Bar 클래스의 주요 매개변수는 다음과 같습니다:
message: 진행률 표시줄에 표시되는 메시지. 이 매개변수는 기본적으로 위치 매개변수를 사용하여 Bar에 전달될 수 있습니다.
width: 진행률 표시줄의 너비를 수정합니다. 기본값은 32입니다.
max: 진행률 표시줄이 100과 같이 여러 개의 동일한 부분으로 나뉩니다.
접미사: 진행률 표시 형식이며 기본값은 ‘%(index)d/%(max)d’입니다.
fill: 진행률 표시줄을 채우는 데 사용할 항목, 기본값은’#’입니다.
empty_fill: 언로드된 진행률 표시줄을 채우는 데 사용할 항목, 기본 공간은 ’입니다.
bar_prefix: 진행률 표시줄 접두사, 기본값’.
bar_suffix: 진행률 표시줄 접미사, 기본값 ’.
color: 진행률 표시줄의 색상, 기본값은 None입니다.
PyCharm 진행률 표시줄 표시 문제 해결
대부분의 Python 프로그래머는 PyCharm을 사용합니다. PyCharm에서 진행률 바코드를 실행한 후 진행률 표시줄 효과가 표시되지 않으면 아래 단계에 따라 설정한 후 코드를 실행할 수 있습니다. 다시.
Step1. PyCharm 위의 실행 버튼을 클릭한 다음 구성 편집을 클릭하여 실행 구성 페이지로 들어갑니다.
Step2. 출력 콘솔에서 터미널 에뮬레이트 옵션을 확인하고 코드를 다시 실행하세요.
주의 깊은 친구들은 위의 진행률 바코드가 PyCharm에서 실행된 후 진행률 표시줄 아래에 ‘?[?25h’라는 이상한 문자 문자열이 있다는 것을 알아차렸을 것입니다. 터미널에서 python Progress_demo 스크립트를 사용하세요. .py는 이 기호 문자열 없이 동일한 코드를 실행합니다.
이 문자열은 커서를 나타냅니다. PyCharm을 실행한 후 커서가 콘솔에 출력됩니다. 해결 방법은 Ctrl 키를 누른 채 가져온 Bar 클래스 이름을 클릭하고 소스 코드 bar.py로 이동한 다음 Ctrl 키를 누른 채 Bar 클래스에서 상속한 Progress 클래스를 클릭하고 __init__.py를 입력하는 것입니다. 진행 라이브러리 파일을 변경하고 이 파일의 SHOW_CURSOR 변수가 빈 문자열로 변경됩니다.
소스 코드를 수정한 후 다시 실행하면 커서가 표시되지 않고, 문자열이 표시되지 않습니다.
PyChram에서 진행률 표시줄을 실행할 때 다른 표시 문제가 발생할 수도 있습니다. 문제가 발생하면 스크립트로 실행하는 것이 좋습니다. PyChram에서 실행한 결과는 디버그에만 사용됩니다. 코드.
진행률 바코드를 작성하는 두 가지 방법
1. 컨텍스트 관리자: 진행률 표시줄 다음에 …을 컨텍스트 관리자로 사용하면 완료() 메서드를 호출할 필요가 없습니다. 완성 됐습니다.
with Bar('Processing', max=20) as bar: for i in range(20): time.sleep(0.05) bar.next()
2. iter() 메서드 사용: iter() 메서드를 사용하면 iterator 작업이 단순화되고 next() 메서드를 호출할 필요가 없습니다.
for i in Bar('Processing').iter(range(100)): time.sleep(0.05)
이 두 가지 구현 방법의 실행 결과는 원래 구현 방법과 동일합니다.
더 많은 유형의 진행률 표시줄 구현
1. Bar 시리즈
이전 글에서 Progress의 소스 코드를 클릭하면 Bar 클래스가 Progress 클래스를 상속하는 것을 볼 수 있습니다. Infinite 클래스, Progress 클래스, Infinite 클래스에서 진행률 표시줄의 기본 기능을 구현했습니다.
bar.py에는 Bar 클래스 외에도 6개의 클래스(ChargingBar, FillingSquaresBar, FillingCirclesBar, IncrementalBar, PixelBar 및 ShadyBar)가 있습니다. 이들은 각각 Bar 클래스의 하위 클래스이거나 손자입니다. bar. 각 클래스에서는 suffix, fill,empty_fill, bar_prefix, bar_suffix 변수의 값만 수정되고 진행률 표시줄의 스타일이 수정됩니다.
사용이 매우 간단합니다. 이러한 클래스를 가져오고 위 코드의 Bar를 FillingSquaresBar와 같은 클래스로 바꾸면 됩니다.
from progress.bar import Bar, ChargingBar, FillingSquaresBar, FillingCirclesBar, IncrementalBar, PixelBar, ShadyBar import time bar = FillingSquaresBar('MyProcess:', max=100) for i in range(100): time.sleep(0.05) bar.next() bar.finish()
작동 효과:
还可以自己修改上面的参数,设置个性化的进度条,本文暂不扩展,以后有空可以专门写文章介绍。
2. Spinner 系列
progress 库的 spinner.py 中实现了 5 个类,Spinner, PieSpinner, MoonSpinner, LineSpinner, PixelSpinner。
from progress.spinner import Spinner, PieSpinner, MoonSpinner, LineSpinner, PixelSpinner for i in Spinner('MySpinner:').iter(range(100)): time.sleep(0.01)
运行效果:
3.Counter 系列
progress 库的 counter.py 中实现了 4 个类,Counter, Countdown, Stack, Pie。
from progress.counter import Counter, Countdown, Stack, Pie import time for i in Counter('Loading:').iter(range(100)): time.sleep(0.01)
运行效果:
汇总
接下来将上面介绍的所有种类的进度条全部放到一起,代码如下:
from progress.bar import Bar, ChargingBar, FillingSquaresBar, \ FillingCirclesBar, IncrementalBar, PixelBar, ShadyBar from progress.spinner import Spinner, PieSpinner, MoonSpinner, LineSpinner, PixelSpinner from progress.counter import Counter, Countdown, Stack, Pie import time import random progess_list = [Bar, ChargingBar, FillingSquaresBar, FillingCirclesBar, IncrementalBar, PixelBar, ShadyBar, Spinner, PieSpinner, MoonSpinner, LineSpinner, PixelSpinner, Counter, Countdown, Stack, Pie] for P in progess_list: for i in P(P.__name__ + ':').iter(range(100)): time.sleep(0.01) bar = IncrementalBar('Random:', suffix='%(index)d%%') for i in range(100): bar.goto(random.randint(0, 100)) time.sleep(0.01) bar.finish()
运行效果:
运行代码后可以得出所有种类的进度条,与文章开头从官网截的图效果相同。
위 내용은 Python에서 진행 라이브러리를 사용하여 진행률 표시줄을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Arraysinpython, 특히 비밀 복구를위한 ArecrucialInscientificcomputing.1) theaRearedFornumericalOperations, DataAnalysis 및 MachinELearning.2) Numpy'SimplementationIncensuressuressurations thanpythonlists.3) arraysenablequick

Pyenv, Venv 및 Anaconda를 사용하여 다양한 Python 버전을 관리 할 수 있습니다. 1) PYENV를 사용하여 여러 Python 버전을 관리합니다. Pyenv를 설치하고 글로벌 및 로컬 버전을 설정하십시오. 2) VENV를 사용하여 프로젝트 종속성을 분리하기 위해 가상 환경을 만듭니다. 3) Anaconda를 사용하여 데이터 과학 프로젝트에서 Python 버전을 관리하십시오. 4) 시스템 수준의 작업을 위해 시스템 파이썬을 유지하십시오. 이러한 도구와 전략을 통해 다양한 버전의 Python을 효과적으로 관리하여 프로젝트의 원활한 실행을 보장 할 수 있습니다.

Numpyarrayshaveseveraladvantagesstandardpythonarrays : 1) thearemuchfasterduetoc 기반 간증, 2) thearemorememory-refficient, 특히 withlargedatasets 및 3) wepferoptizedformationsformationstaticaloperations, 만들기, 만들기

어레이의 균질성이 성능에 미치는 영향은 이중입니다. 1) 균질성은 컴파일러가 메모리 액세스를 최적화하고 성능을 향상시킬 수 있습니다. 2) 그러나 유형 다양성을 제한하여 비 효율성으로 이어질 수 있습니다. 요컨대, 올바른 데이터 구조를 선택하는 것이 중요합니다.

tocraftexecutablepythonscripts, 다음과 같은 비스트 프랙티스를 따르십시오 : 1) 1) addashebangline (#!/usr/bin/envpython3) tomakethescriptexecutable.2) setpermissionswithchmod xyour_script.py.3) organtionewithlarstringanduseifname == "__"

numpyarraysarebetterfornumericaloperations 및 multi-dimensionaldata, mumemer-efficientArrays

numpyarraysarebetterforheavynumericalcomputing, whilearraymoduleisiMoresuily-sportainedprojectswithsimpledatatypes.1) numpyarraysofferversatively 및 formanceforgedatasets 및 complexoperations.2) Thearraymoduleisweighit 및 ep

ctypesallowscreatingandmanipulatingC-stylearraysinPython.1)UsectypestointerfacewithClibrariesforperformance.2)CreateC-stylearraysfornumericalcomputations.3)PassarraystoCfunctionsforefficientoperations.However,becautiousofmemorymanagement,performanceo


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기
