-5
votes

Chargement en python - affichage de la progression

J'ai besoin de quelque chose comme ça:

Loading...

Après avoir imprimé dans la même position:

Loading..

ensuite

Loading.

Je sais que c'est peut-être une question répétée mais \r et \b et sys ne fonctionnent pas dans le shell Python car je développe dans le shell, alors veuillez me donner le code de travail pour le shell.


13 commentaires

Pouvez-vous ajouter du code pour que nous puissions voir ce que vous avez essayé jusqu'à présent? Cela rendra moins probable la suppression de votre question, car les gens verront que vous avez fait un effort de bonne foi


Pourquoi avez-vous besoin que cela soit fait dans le shell python? Je pense que vous devez en donner une bonne raison. Le shell python est destiné au développement, mais lorsque vous utiliserez le script plus tard, je devrais travailler comme vous le souhaitez avec sys pour écraser la ligne.


Comme suggéré dans l'une des réponses, utilisez la bibliothèque tqmd


déjà fait depuis son fonctionnement et si ce n'est pas le shell, alors sur quoi dois-je travailler le meilleur terminal pour Windows 8.1, pouvez-vous le dire?


ajoutez votre progression


@ Newbie_coder_15 Je pense que vous devriez vous pencher sur le changement de shell, le shell que vous utilisez semble être très mauvais. Si ce n'était pas pour le shell, je pense que votre solution a probablement fonctionné dès le début.


son shell python inactif


\r ne fonctionne pas dans Python Shell (ainsi que dans certaines autres fonctionnalités). Envisagez d'aller dans un meilleur environnement (mieux serait si vous exécutiez votre code dans le terminal).


Pouvez-vous dire quel terminal je viens d'installer Sublime mais mon code ne fonctionne plus sur ce terminal?


@ Newbie_coder_15 Sublime est un éditeur de texte, pas un terminal.


quel terminal dois-je utiliser?


Presque n'importe quel autre shell, je vous recommande d'utiliser pycharm ou visual code (IDE) et d'utiliser le shell qu'ils vous donnent.


"AVIS POUR LE PERSONNEL: Veuillez ne pas supprimer cette question que vous aviez supprimé mes 2 questions précédentes, alors veuillez ne pas supprimer car j'ai vraiment besoin d'une réponse fonctionnelle." - Je sympathise, mais nous avons des règles ici. La meilleure façon d'obtenir des réponses utiles n'est pas de prier la communauté de ne pas supprimer votre question, mais d'en poser une bonne . Il y a quelques bonnes directives sur notre page Comment demander . Consultez également Rédiger la question parfaite si vous avez le temps de lire autant.


3 Réponses :


0
votes

Il existe de nombreuses façons de procéder.

import time 

print('Loading.')
time.sleep(1)
print('Loading..')
time.sleep(1)
print('Loading...')

Si vous voulez le faire de manière plus professionnelle, vérifiez simplement ce fil Python comment faire un chargement animé simple pendant que le processus est en cours d'exécution


1 commentaires

bro merci pour votre aide mais votre code fonctionne comme ceci-: Chargement. Chargement .. dans la ligne suivante, j'ai besoin d'une ligne



2
votes

Vous pouvez utiliser du python ordinaire.

$ seq 9999999 | tqdm --bytes | wc -l
75.2MB [00:00, 217MB/s]
9999999

$ tar -zcf - docs/ | tqdm --bytes --total `du -sb docs/ | cut -f1` \
    > backup.tgz
 32%|██████████▍                      | 8.89G/27.9G [00:42<01:31, 223MB/s]

Ou utilisez la bibliothèque tqdm . Depuis le README.md disponible, vous pouvez l'exécuter avec le shell en utilisant des tubes.

print('Loading', end='')

for _ in range(10):
    print('.', end='')


5 commentaires

tqdm fonctionne-t-il dans le shell je pense que c'est pour le terminal?


Est-il possible d'ajouter ici "chargement terminé"?


@ Newbie_coder_15 a édité ma réponse pour le support du shell. Cela répond-il à votre question? Pensez à voter pour et acceptez la réponse si cela vous a aidé!


dois-je installer tqdm?


oui, suivez les instructions de github.com/tqdm/tqdm#installation pour votre plateforme



1
votes

Je réalise que vous pouvez le faire comme ça pour obtenir ce que vous voulez:

>>> from time import sleep
>>> print("loading.\r",end='');sleep(1);print("loading..\r", end='');sleep(1);print("loading...")
loading...
>>>
```


7 commentaires

idk comment mais la sortie est 'loading.loading..loading ..'


Cette solution vous permet également d'écrire autre chose à la fin comme "chargement terminé".


@ Newbie_coder_15 Non, le \ r devrait supprimer le retour au début de la ligne. J'ai essayé sur ma machine Windows là-bas, c'était correct. J'ai aussi essayé ici: python.org/shell


peut-être mais ça ne fonctionne pas sur la coquille de la mine


quel shell utilisez-vous?


shell python inactif 3.8.5


ouais je sais que et j'avais dit en question aussi que \ r ne fonctionne pas dans la coquille aucun nom termnal?