7
votes

Bibliothèque d'interaction de la ligne de commande Python?

Je veux développer une petite application Python qui interagit avec l'utilisateur via la ligne de console / commande. Y a-t-il des bonnes bibliothèques que je peux utiliser pour obtenir une entrée utilisateur et afficher la sortie de manière belle? J'ai essayé de chercher, mais la plupart de ce que j'ai trouvé, c'était le traitement des arguments de ligne de commande, n'a rien vu de l'interaction de l'utilisateur dans la coquille.

Il devrait être crossplatform (Windows et Linux)


3 commentaires

Dupliqué possible de Sortie non imprimée en TTY à Python?


Jetez un oeil à ce Article pendant que cela utilise "Importer optparse" Ils disent que la version actuelle est «importer argparse», ce n'est pas correct. Coller à OptParse. Je regarde aussi "importer cli" restez à l'écoute ... FLINT


Pour clarifier, @RDODEV est NOT Demander une bibliothèque CLI, mais une bibliothèque GUI terminale (c'est-à-dire des malédictions). Nul doute que d'autres seront conduits ici uniquement pour trouver la chose complètement erronée.


3 Réponses :


2
votes

malédiction est la plus largement utilisée dans l'environnement UNIX selon la doc. Pour Windows, vous pourriez consulter pilote de console Windows , wconio - E / S Windows Console pour Python ou wcurses . Je n'ai pas pu trouver beaucoup sur les bibliothèques de console de plateformes croisées malcartes.

Si vos utilisateurs de Windows sont des utilisateurs de CLI, ils ont probablement Cygwin qui a SUPPORT NCURSE SOISSESSE est toujours le meilleur option si vous me demandez.


3 commentaires

J'ai vu ça, mais cela laisse les utilisateurs de Windows hors de la photo. Je suppose qu'un simple UI de TK serait plus multiplate-forme.


@Syrawn: TK n'utilise pas la ligne de console ou de commande, que vous posez spécifiquement sur environ. Voulez-vous réellement une interface graphique?


@Dietricheppp je sais tk ce n'est pas la console. J'ai besoin d'une interaction rapide pour l'interaction utilisateur pour la victoire et UNIX. Je pensais que la coquille étant plus rapide, mais ne vaut pas la peine si quitte les utilisateurs.



6
votes

Vous pouvez contrôler la borne UNIX avec le malédictions bibliothèque . La bibliothèque vous permet essentiellement de construire une graphique terminale simple.

Si vous avez besoin de plus, jetez un coup d'œil à Urwid également. Urwid offre des widgets d'interface graphique plus complexes pour le développeur de gui-guichon final averti. : -)


2 commentaires

Urwid a l'air génial, va vérifier à coup sûr. Espérons également que des plateformes autres que UNIX. Sinon, je pense qu'un UI de TK rapide et sale couvrira la plupart des plates-formes.


@Syrawn: la malédiction est liée aux plates-formes POSIX; Il y a un module de WCurses pour Windows, pas sûr si Urwid fonctionnera avec cela.



10
votes

Une bibliothèque vraiment excellente est CMD qui fait partie de la bibliothèque standard Python. Il s'agit de fenêtres multiples croisées, Linux, Mac. Il vous suffit de mettre en œuvre une classe et il offre autant d'excellentes caractéristiques:

  1. fournit une liste des commandes prises en charge (elles finissent par être implémentées comme méthodes)
  2. Commande d'aide qui peut être appelée à expliquer l'une de vos commandes
  3. gère l'ensemble d'une commande, vérifiant la syntaxe et appelez votre cycle de boucle de commande de méthode.
  4. Les utilisateurs peuvent enregistrer les commandes qu'ils ont exécutées dans une session interactive et les exécuter sous forme de script. Découvrez l'exemple ci-dessous.

    Si vous prenez le exemple de la tortue et enregistrez-le comme turtleshell.py et enregistrer le fichier de script de tortue ci-dessous en tant que cercles.txt xxx

    alors vous pouvez exécuter le script tortue avec la commande suivante: xxx < / Pré>

    Donc, dans l'exemple simple indiqué dans le Documents, le développeur a essentiellement une mini-langage simple qui peut être utilisé comme une interface plus facile pour atteindre le La rendant encore plus facile d'introduire une programmation aux enfants. Les exemples ci-dessus ont été tirés des docs Python3 car ils ont inclus un exemple détaillé dans leurs documents qui n'étaient pas présents dans les 2,7 documents, mais la CMD est disponible et fonctionnelle entièrement à Python 2.3 et ultérieure. >


0 commentaires