13 idées de projets pour les développeurs Python de niveau intermédiaire – Real Python

By | avril 11, 2019

trouver un expert Python

Apprendre les bases de Python est une expérience merveilleuse. Mais l'euphorie du simple apprentissage peut être remplacée par la soif de projets concrets. C’est normal de vouloir construire des projets, d’où le besoin d’idées de projets.

Le problème est que certains projets sont soit trop simples pour un développeur Python intermédiaire, soit trop difficiles. Cet article suggère des projets sur lesquels vous pouvez travailler en tant que développeur Python intermédiaire. Ces idées de projets vous fourniront le niveau de défi approprié.

Dans cet article, vous apprendrez:

  • L'importance des projets de construction
  • Les principales plateformes sur lesquelles vous pouvez construire des projets
  • Treize idées de projets sur lesquels vous pouvez travailler
  • Quelques astuces pour travailler sur des projets

L'importance des projets de construction

Travailler sur des projets est essentiel pour faire avancer votre carrière de développeur Python. Ils vous font appliquer les compétences et les connaissances acquises.

Les projets peuvent vous aider:

  • Construire la confiance: Vous croirez davantage dans votre capacité à créer des logiciels, quel que soit leur niveau de complexité.

  • Explorez d'autres technologies: Vous apprendrez d'autres technologies nécessaires à la création d'un produit complet, telles que des bases de données, des serveurs et d'autres langages.

  • Comprendre mieux les concepts de programmation: Vous apprendrez à mieux écrire le code et à comprendre des concepts tels que les modèles de conception et la programmation orientée objet.

  • Faites l'expérience d'un cycle de vie complet de développement logiciel: Vous apprendrez à planifier avant d'écrire du code, à gérer le processus de codage et à mettre à jour le logiciel.

Il y a beaucoup à gagner à construire des projets en tant que développeur Python.

Choisir une plate-forme de projet

Vous devez créer votre logiciel pour qu'il fonctionne sur une plate-forme de sorte que les personnes dépourvues de certaines connaissances techniques puissent utiliser votre logiciel. Le Web, le bureau et la ligne de commande sont les trois principales plates-formes pour lesquelles vous souhaitez construire vos projets.

Web

Les applications Web sont des applications qui s'exécutent sur le Web. Vous pouvez y accéder sur n'importe quel appareil sans les télécharger, à condition que vous ayez accès à Internet. Si vous souhaitez que vos projets soient accessibles à tous avec un accès Internet, il doit s'agir d'une application Web.

Une application Web a une extrémité et une extrémité. Le back-end est la partie où se trouve la logique métier: votre code back-end manipulera et stockera les données. Le frontal est l'interface de l'application: votre code frontal déterminera l'apparence d'une application Web.

En tant que développeur Python intermédiaire, votre principal objectif sera le code back-end. Cependant, le code frontal est également important, vous aurez donc besoin de connaissances en HTML, CSS et peut-être en JavaScript pour créer une interface simple. Juste les bases suffiront.

Une autre option consiste à utiliser Python pour les serveurs frontal et principal. Grace à enclume bibliothèque, qui élimine le besoin de HTML, CSS et JavaScript, vous pouvez vous concentrer uniquement sur le code Python.

Vous pouvez créer des applications Web avec Python via des infrastructures Web telles que Django et ballon. La liste des infrastructures permettant de créer des applications Web à l'aide de Python est longue. Il y a beaucoup de choix, mais Django et ballon restent les cadres Web les plus populaires.

Interface graphique de bureau

Chaque fois que vous effectuez une tâche sur votre PC, que ce soit un ordinateur de bureau ou un ordinateur portable, vous utilisez une application. En tant que développeur Python intermédiaire, vous pouvez créer vos propres applications de bureau.

Vous n'avez pas besoin d'apprendre une technologie frontale pour créer vos propres applications d'interface utilisateur graphique (GUI), comme vous l'avez vu avec des applications Web. Vous pouvez construire toutes les pièces en utilisant Python.

Il existe des cadres pour créer vos applications de bureau. PySimpleGUI C’est l’un d’entre eux, et il est plutôt convivial pour un développeur Python intermédiaire.

Un framework d'interface graphique avancé comme PyQt5 est assez puissant, mais il peut avoir une courbe d'apprentissage abrupte.

Le logiciel que vous créez pour l'interface graphique de bureau est compatible avec tous les systèmes d'exploitation Windows, Linux ou Mac. Tout ce que vous avez à faire après la création du projet est de le compiler en un exécutable pour le système d’exploitation de votre choix.

Ligne de commande

Les applications de ligne de commande sont les applications qui fonctionnent dans une fenêtre de console. C'est l'invite de commande sous Windows et le terminal sous Linux et Mac.

Vous pouvez cliquer sur pour utiliser une application Web ou une interface graphique, mais vous devez entrer des commandes pour les applications en ligne de commande. Les utilisateurs d’applications en ligne de commande doivent avoir des connaissances techniques, car ils doivent utiliser des commandes.

Les applications en ligne de commande ne sont peut-être pas aussi belles et faciles à utiliser que les applications Web ou graphiques, mais cela ne les rend pas moins puissantes que les applications Web ou graphiques.

Vous pouvez améliorer l'apparence de vos applications en ligne de commande en appliquant des couleurs au texte. Il existe des bibliothèques que vous pouvez utiliser pour la coloration, telles que colorama et coloré. Vous pouvez pimenter les choses et utiliser des couleurs.

Vous pouvez utiliser des frameworks tels que docopt, argparse, et Cliquez sur pour construire vos applications.

Idées de projets Web

Dans cette section, vous verrez des idées de projets pour le Web. Ces idées de projet peuvent être classées comme outils d’utilité et d’éducation.

Voici les idées de projet:

  • Agrégateur de contenu
  • Outil de requête Regex
  • URL Shortener
  • Un Post-it
  • Application de quiz

Agrégateur de contenu

Le contenu est roi. Il existe partout sur le Web, des blogs aux plates-formes de médias sociaux. Pour vous suivre, vous devez rechercher constamment de nouvelles informations sur Internet. Une façon de rester à jour est de vérifier tous les sites manuellement pour voir quels sont les nouveaux articles. Mais cela prend du temps et est assez fatiguant.

C’est là que l’agrégateur de contenu entre en jeu: un agrégateur de contenu récupère des informations en ligne à divers endroits et les rassemble en un seul endroit. Par conséquent, il n’est pas nécessaire de visiter plusieurs sites pour obtenir les dernières informations: un seul site suffit.

Avec l'agrégateur de contenu, toutes les informations les plus récentes peuvent être obtenues à partir d'un site regroupant tout le contenu. Les gens peuvent voir les publications qui les intéressent et décider d'en savoir plus sans se laisser tromper sur Internet.

Exemples d'agrégateurs de contenu

Voici quelques implémentations de l'idée de Content Aggregator:

Détails techniques

L'objectif principal de cette idée de projet est d'agréger le contenu. Tout d'abord, vous devez savoir sur quels sites vous souhaitez que le Content Aggregator obtienne le contenu. Ensuite, vous pouvez utiliser des bibliothèques telles que demandes pour l'envoi de requêtes HTTP et BeautifulSoup analyser et gratter le contenu nécessaire des sites.

Votre application peut implémenter son agrégation de contenu en tant que processus en arrière-plan. Bibliothèques telles que céleri ou apscheduler peut aider avec ça. Vous pouvez essayer apscheduler. C’est génial pour les petits processus en arrière-plan.

Après avoir supprimé le contenu de divers sites, vous devrez le sauvegarder quelque part. Ainsi, vous utiliserez une base de données pour enregistrer le contenu récupéré.

Défi supplémentaire

Pour un défi plus difficile, vous pouvez ajouter plus de sites Web. Cela vous aidera à apprendre à étudier et à extraire des informations de sites Web.

Vous pouvez également demander aux utilisateurs de s'abonner à certains sites que vous agrégez. Ensuite, à la fin de la journée, l’agrégateur de contenu enverra les articles de cette journée à l’adresse électronique de l’utilisateur.

Outil de requête Regex

Vous et moi traitons le texte quotidiennement. Cet article, qui est aussi du texte, a une structure. Cela vous facilite la compréhension. Parfois, vous devez rechercher certaines informations dans du texte. L'utilisation de l'outil de recherche standard dans les éditeurs de texte peut s'avérer inefficace.

C'est ici qu'intervient l'outil de requête Regex. Une regex est un ensemble de chaînes. L'outil de requête regex vérifie la validité des requêtes. Lorsque l'expression régulière correspond aux modèles dans le texte, elle en informe l'utilisateur et met en surbrillance les modèles correspondants. Ainsi, votre outil de requête regex vérifiera la validité des chaînes de regex transmises par l'utilisateur.

Avec l'outil de requête Regex Query Tool, les utilisateurs peuvent rapidement vérifier la validité de leurs chaînes de regex sur le Web. Cela leur facilite la tâche, au lieu d'avoir à vérifier les chaînes avec un éditeur de texte.

Exemples d'outils de requête Regex

Voici quelques implémentations de l'idée de l'éditeur de requêtes Regex:

Détails techniques

L'objectif principal de ce type de projet est d'indiquer à l'utilisateur la validité des chaînes de requête entrées. Vous pouvez lui donner une réponse positive ou négative telle que La chaîne de requête est valide et La chaîne de requête est invalide, mettant en œuvre la réponse positive en vert et la négative en rouge.

Vous n'avez pas à implémenter l'outil de requête à partir de zéro. Vous pouvez utiliser la norme Python bibliothèque, que vous pouvez utiliser pour exécuter les chaînes de requête sur le texte saisi. le la bibliothèque reviendra Aucun lorsque la chaîne de requête ne correspond à rien et renvoie les chaînes correspondantes lorsque le résultat est positif.

Certains utilisateurs peuvent ne pas comprendre parfaitement l'expression rationnelle, vous pouvez donc créer une page pour expliquer son fonctionnement. Vous pouvez créer une documentation suffisamment intéressante pour que les utilisateurs restent enthousiastes à l'idée d'apprendre et de comprendre regex.

Défi supplémentaire

Faire un projet qui retourne juste la validité de la regex est bien. Mais vous pouvez également ajouter une fonctionnalité de remplacement. Cela signifie que l'application vérifiera la validité de l'expression régulière et permettra également aux utilisateurs de remplacer les chaînes correspondantes par quelque chose d'autre. Ainsi, l'outil n'est plus un outil de recherche, mais également un outil de remplacement.

URL Shortener

Les URL peuvent être extrêmement longues et pas conviviales. Lorsque des personnes partagent des liens ou essaient même de se souvenir d’une URL, c’est difficile, car la plupart des URL contiennent des caractères plus difficiles et ne forment pas de mots significatifs.

C'est ici qu'intervient le raccourcisseur d'URL. Un raccourcisseur d'URL réduit les caractères ou les lettres d'une URL, ce qui les rend plus faciles à lire et à mémoriser. Une URL comme xyz.com/wwryb78&svnhkn%sghq?sfiyh peut être raccourci à xyz.com/piojwr.

Avec le raccourcisseur d'URL, les URL deviennent un plaisir de travailler avec.

Exemples de raccourcisseurs d'URL

Voici quelques implémentations de l'idée URL Shortener:

Détails techniques

L'objectif principal de cette idée de projet est de raccourcir les URL. La tâche principale de l'application consiste à raccourcir les URL, puis à rediriger les utilisateurs vers l'URL d'origine lors de la visite de l'URL raccourcie.

Dans l'application, les utilisateurs entreront l'URL d'origine et obtiendront la nouvelle URL raccourcie. Pour ce faire, vous pouvez utiliser une combinaison des au hasard et chaîne modules pour générer les caractères de l’URL raccourcie.

Étant donné que les utilisateurs visitent les URL raccourcies dans des jours, des mois ou même des années après, vous devez enregistrer les URL d'origine et abrégées dans une base de données. Lorsqu'une demande arrive, l'application vérifie si l'URL existe et redirige vers l'original, ou alors elle redirige vers une page 404.

Défi supplémentaire

Générer une URL raccourcie avec des caractères aléatoires donne une meilleure URL que les longues et aléatoires. Mais vous pouvez améliorer le résultat pour les utilisateurs. Vous pouvez ajouter une fonctionnalité pour personnaliser les URL afin que les utilisateurs puissent personnaliser eux-mêmes les URL générées.

Sans aucun doute, une coutume xyz.com/mysite L'URL est mieux qu'un généré aléatoirement xyz.com/piojwr URL

Un Post-it

C’est humain d’avoir beaucoup de pensées et d’idées dans une journée, mais c’est aussi humain d’oublier. Une façon de contourner l'oubli consiste à les noter avant qu'elles ne disparaissent dans les airs. Bien que certaines pensées ou idées oubliées puissent être triviales, d'autres peuvent être assez puissantes.

Voici un post-it: Un post-it est un petit papier avec un adhésif peu collant au dos, qui permet de le fixer à des surfaces telles que des documents, des murs. Les post-it permettent de noter plus facilement les choses. L'idée de projet Post-It note est quelque chose de similaire. Il permet aux utilisateurs de noter des choses et de les rendre accessibles n’importe où, car il s’agit d’une application Web.

Avec le post-it, les gens peuvent maintenant noter des choses n'importe où, sans craindre d'oublier des choses ou de les perdre, ce qui est une possibilité avec des notes physiques.

Exemples de post-it

Voici quelques implémentations de l'idée Post-It Note:

Détails techniques

L'objectif principal de ce projet est de permettre aux utilisateurs de noter leurs pensées. Cela signifie que chaque utilisateur aura ses propres notes. L'application devra donc disposer d'une fonctionnalité de création de compte. Cela garantit que les notes de chaque utilisateur restent privées pour eux.

Django est livré avec un système d’authentification d’utilisateur, ce qui en fait un bon choix. Vous pouvez utiliser d'autres frameworks comme bouteille ou ballon, mais vous devrez implémenter vous-même le système d’authentification des utilisateurs.

Étant donné que les utilisateurs peuvent avoir besoin de séparer leurs notes dans différentes sections, la mise en œuvre d'une fonctionnalité permettant aux utilisateurs de classer leurs notes par catégorie rendra l'application plus utile.

Par exemple, vous aurez peut-être besoin de notes sur les algorithmes et les structures de données. Vous devrez donc pouvoir séparer les notes dans ces catégories.

Vous aurez besoin de stocker les informations et les notes de chaque utilisateur. Une base de données devient donc un élément essentiel de ce projet. le MySQLdb module peut être utilisé si vous souhaitez utiliser une base de données MySQL ou le psycopg2 module pour une base de données PostgreSQL. Vous pouvez utiliser d’autres modules, mais tout dépend de la base de données que vous choisissez d’utiliser.

Défi supplémentaire

Puisque c’est humain que les utilisateurs oublient leurs idées, c’est aussi humain d’oublier qu’ils ont même créé une note quelque part. Vous pouvez ajouter une fonctionnalité pour rappeler aux utilisateurs leurs notes. Cette fonctionnalité permettra aux utilisateurs de définir une heure pour le rappel. L'application l'enverra par la suite, par courrier électronique.

Application de quiz

La connaissance est le pouvoir. Il y a tellement de choses à apprendre dans le monde, et les questionnaires aident à tester la compréhension de ces concepts. En tant que développeur Python intermédiaire, vous n'avez pas besoin de tout comprendre du langage. Passer des tests est un moyen de découvrir des choses que vous ne comprenez pas bien.

C’est là que l’application Quiz entre en jeu. L’application Quiz posera des questions aux utilisateurs et attendra les bonnes réponses à ces questions. Pensez à l'application Quiz comme une sorte de questionnaire.

Avec l'application Quiz, les utilisateurs spéciaux que vous pouvez appeler les administrateurs seront autorisés à créer des tests, afin que les utilisateurs normaux puissent répondre aux questions et tester leur compréhension des sujets abordés dans le questionnaire.

Exemples d'applications de quiz

Voici quelques implémentations de l’idée d’application Quiz:

Détails techniques

L'objectif principal de ce projet est de définir des questionnaires et de faire en sorte que les gens y répondent. Par conséquent, les utilisateurs doivent pouvoir définir des questions et les autres utilisateurs doivent pouvoir y répondre. L'application affichera ensuite le score final et les bonnes réponses.

Si vous souhaitez que les utilisateurs puissent enregistrer leurs scores, vous devrez peut-être implémenter une fonctionnalité de création de compte.

Les utilisateurs qui créent les tests doivent pouvoir créer des tests avec les questions et les réponses en téléchargeant simplement un fichier texte. Le fichier texte aura un format que vous pourrez choisir pour que l'application puisse convertir un fichier en questionnaire.

Vous devrez implémenter une base de données pour ce projet. La base de données stockera les questions, les réponses possibles, les réponses correctes et les scores de chaque utilisateur.

Défi supplémentaire

Pour plus d'un défi, vous pouvez permettre aux utilisateurs d'ajouter des minuteries aux quiz. De cette façon, les créateurs d'un quiz peuvent déterminer le nombre de secondes ou de minutes qu'un utilisateur devrait consacrer à chaque question du quiz.

Il serait bon d’avoir également une fonctionnalité de partage de quiz, afin que les utilisateurs puissent partager des quiz intéressants avec leurs amis sur d’autres plateformes.

Idées de projets d'interface graphique

Dans cette section, vous verrez des idées de projets pour les interfaces utilisateur graphiques. Ces idées de projet peuvent être classées comme des outils de divertissement, de finance et d’utilité.

Voici les idées de projet:

  • Lecteur mp3
  • Outil d'alarme
  • Gestionnaire de fichiers
  • Suivi des dépenses

Lecteur mp3

L'audio est aussi important que le texte aujourd'hui, si ce n'est plus important. Les fichiers audio étant des fichiers numériques, vous aurez besoin d’un outil pour les lire. Sans lecteur, vous ne pourrez jamais écouter le contenu d’un fichier audio.

C’est ici que le lecteur MP3 entre en jeu. Le lecteur MP3 est un appareil permettant de lire des MP3 et d’autres fichiers audio numériques. Cette idée de projet d'interface graphique de lecteur MP3 tente d'imiter le lecteur MP3 physique. Vous pouvez créer un logiciel qui vous permet de lire des fichiers MP3 sur votre ordinateur de bureau ou portable.

Lorsque vous avez terminé de créer le projet MP3 Player, les utilisateurs peuvent lire leurs fichiers MP3 et autres fichiers audio numériques sans avoir à acheter un lecteur MP3 physique. Ils pourront lire les fichiers MP3 sur leur ordinateur.

Exemples de lecteurs MP3

Voici quelques implémentations de l’idée du lecteur MP3:

Détails techniques

L'objectif principal de ce projet est de permettre aux utilisateurs de lire des fichiers audio MP3 et numériques. Pour être intéressant pour les utilisateurs, l'application doit avoir une interface utilisateur simple mais belle.

Vous pouvez avoir une interface pour lister les fichiers MP3 disponibles. Vous pouvez également donner aux utilisateurs la possibilité de répertorier d'autres fichiers audio numériques autres que MP3.

Les utilisateurs s'attendent également à ce que le lecteur MP3 ait une interface qui affiche des informations sur le fichier en cours de lecture. Certaines des informations que vous pouvez inclure sont le nom du fichier, sa longueur, la quantité jouée et la quantité non jouée, en minutes et en secondes.

Python a des bibliothèques qui peuvent lire des fichiers audio, tels que pygame, ce qui vous permet de travailler avec des fichiers multimédia en quelques lignes de code. Vous pouvez également vérifier Pymedia et simpleaudio.

Ces bibliothèques peuvent gérer beaucoup de fichiers audio numériques. Ils peuvent gérer d'autres types de fichiers, pas seulement les fichiers MP3.

Vous pouvez également implémenter une fonctionnalité qui permet aux utilisateurs de créer une liste de lecture. Pour ce faire, vous aurez besoin d’une base de données pour stocker des informations sur les listes de lecture créées. Python sqlite3 module vous permet d'utiliser la base de données SQLite.

La base de données SQLite est une meilleure option dans ce cas, car elle repose sur des fichiers et est plus facile à configurer que d’autres bases de données SQL. Bien que SQLite soit basé sur des fichiers, il est préférable de sauvegarder des données qu’un fichier ordinaire.

Défi supplémentaire

Pour un défi plus excitant, vous pouvez ajouter une fonctionnalité permettant au lecteur MP3 de répéter les fichiers en cours de lecture ou même de mélanger la liste des fichiers à lire.

Il est également possible d'implémenter une fonctionnalité permettant aux utilisateurs d'augmenter et de réduire la vitesse de lecture du fichier audio. Les utilisateurs trouveront cela intéressant, car ils pourront lire les fichiers plus lentement ou plus rapidement que d’habitude.

Outil d'alarme

Comme ils le disent, "Le temps et la marée n'attendent personne". Mais avec beaucoup de choses qui se passent dans nos vies, il est difficile de ne pas perdre de vue le temps. Pour pouvoir garder une trace du temps, un rappel est nécessaire.

C'est ici qu'intervient l'outil d'alarme. Une alarme est un dispositif qui envoie un signal audio ou visuel à propos d'une certaine condition. Cette idée de projet Alarm Tool est une tentative de créer une alarme en tant que logiciel. L'outil d'alarme envoie un signal audio lorsqu'une certaine condition est remplie. Le temps défini est la condition certaine dans ce cas.

Avec l'outil d'alarme, les utilisateurs peuvent définir des alarmes pour leur rappeler des choses à certains moments de la journée. Le projet Alarm Tool fonctionnera à partir de l’ordinateur portable ou du bureau de l’utilisateur, évitant ainsi l’achat d’une minuterie physique.

Exemples d'outils d'alarme

Voici quelques implémentations de l'idée Alarm Tool:

Détails techniques

L'objectif principal de ce projet est d'activer les signaux audio à certaines heures de la journée. Ainsi, la synchronisation et le signal audio à jouer sont les parties les plus importantes de Alarm Tool.

L’outil Alarmes doit permettre aux utilisateurs de créer, éditer et supprimer des alarmes. Il devrait également avoir une interface qui répertorie toutes les alarmes, à condition qu'elles n'aient pas été supprimées par l'utilisateur. Donc, il devrait lister les alarmes actives et inactives.

Comme il s’agit d’une alarme, l’application doit jouer des tonalités à l’heure définie. Il y a des bibliothèques pour jouer de l'audio, comme le pygame bibliothèque.

Dans votre logique de code, l'application doit continuer à vérifier les heures d'alarme définies. Lorsque l'heure est atteinte, une fonction déclenche la sonnerie.

Étant donné que l’application vérifiera les heures d’alarme définies, cela signifie que l’application doit enregistrer les alarmes dans une base de données. La base de données doit stocker des éléments tels que la date, l'heure et l'emplacement de la tonalité d'alarme.

Défi supplémentaire

En tant que fonctionnalité supplémentaire, vous pouvez permettre aux utilisateurs de définir des alarmes récurrentes. Ils pourront définir des alarmes qui sonneront à une heure donnée certains jours de la semaine, chaque semaine. Par exemple, une alarme peut être réglée à 14h00 tous les lundis.

Vous pouvez également ajouter une fonctionnalité de répétition afin que vos utilisateurs puissent suspendre les alarmes au lieu de les ignorer.

Gestionnaire de fichiers

Le nombre de fichiers sur l'ordinateur personnel d'un utilisateur de PC moyen est assez élevé. Si tous ces fichiers étaient placés dans un seul répertoire, il serait difficile de naviguer et de trouver des fichiers ou des répertoires. Il faut donc organiser les fichiers et les gérer correctement.

C'est là qu'intervient un gestionnaire de fichiers. Un gestionnaire de fichiers permet aux utilisateurs de gérer des fichiers et des répertoires via une interface utilisateur. Les fichiers peuvent être gérés via la ligne de commande, mais tous les utilisateurs ne savent pas comment le faire.

Avec un gestionnaire de fichiers, les utilisateurs peuvent organiser, accéder et administrer correctement leurs fichiers et répertoires sans savoir comment utiliser la ligne de commande. Certaines des tâches qu'un gestionnaire de fichiers autorise les utilisateurs à effectuer comprennent la copie, le déplacement et le changement de nom de fichiers ou de répertoires.

Exemples d'outils de gestion de fichiers

Voici quelques implémentations de l'idée du gestionnaire de fichiers:

Détails techniques

L'objectif principal du projet de gestionnaire de fichiers est de fournir aux utilisateurs une interface pour gérer leurs fichiers. Les utilisateurs veulent un gestionnaire de fichiers doté d'un outil de gestion de fichiers esthétique et facile à utiliser.

Vous pouvez utiliser le PySimpleGUI bibliothèque pour créer des interfaces utilisateur uniques avec un widget puissant, sans avoir à gérer beaucoup de complexité.

Vos utilisateurs doivent pouvoir effectuer des tâches simples, telles que la création de nouveaux répertoires ou des fichiers texte vides. Ils devraient également pouvoir copier et déplacer des fichiers ou des répertoires.

le sys, os, et fermer Les bibliothèques seront très utiles pour ce projet, car elles peuvent être utilisées pour exécuter des actions sur les fichiers en arrière-plan, tandis que l'utilisateur clique dessus.

Les vues de grille et de liste sont des vues populaires aujourd'hui, vous pouvez donc les implémenter dans l'application. Cela donne à l'utilisateur la possibilité de choisir quelle option d'affichage lui convient.

Défi supplémentaire

Pour rendre le gestionnaire de fichiers un peu plus avancé, vous pouvez implémenter une fonctionnalité de recherche. Ainsi, les utilisateurs peuvent rechercher des fichiers et des répertoires sans avoir à les trouver manuellement.

Vous pouvez également implémenter une fonctionnalité de tri. Cela permettra aux utilisateurs de trier les fichiers en fonction de différents ordres, tels que l'heure, l'ordre alphabétique ou la taille.

Suivi des dépenses

Nous avons des dépenses quotidiennes, allant des courses aux vêtements en passant par les factures. Il y a tellement de dépenses qu’il est normal de perdre la trace et de continuer à dépenser jusqu’à épuisement des liquidités. Un tracker peut aider les gens à surveiller leurs dépenses.

C’est là que le suivi des dépenses entre en jeu. Un suivi des dépenses est un outil logiciel qui permet aux utilisateurs de suivre leurs dépenses. Il peut également analyser les dépenses, en fonction de l'état d'avancement, mais restons simples pour l'instant.

Avec le suivi des dépenses, les utilisateurs peuvent définir un budget et suivre leurs dépenses afin de prendre de meilleures décisions financières.

Exemples de suivi des dépenses

Voici quelques implémentations de l'idée d'Expense Tracker:

Détails techniques

L’objectif principal de ce projet est de suivre les dépenses de l’utilisateur. Certaines analyses statistiques doivent être effectuées pour pouvoir donner aux utilisateurs des informations correctes sur leurs dépenses et les aider à mieux dépenser.

Bien que le suivi des dépenses soit l’essentiel, une bonne interface est également importante. Avec PySimpleGUI, vous pouvez créer une interface unique pour améliorer l'expérience des utilisateurs.

Les bibliothèques PyData telles que pandas et matplotlib peut être utile pour construire le suivi des dépenses.

le pandas bibliothèque peut être utilisé pour l'analyse des données, et matplotlib La bibliothèque peut être utilisée pour tracer des graphiques. Les graphiques donneront aux utilisateurs une représentation visuelle de leurs dépenses, et une représentation visuelle est généralement plus facile à comprendre.

L'application recevra les données des utilisateurs. Les données ici sont les dépenses saisies. Vous devrez donc stocker les dépenses dans une base de données. La base de données SQLite est un bon choix de base de données pour ce projet, car elle peut être configurée rapidement. Vous pouvez utiliser sqlite3 module pour la base de données SQLite.

Défi supplémentaire

Pour que vos utilisateurs bénéficient de ce projet, ils devront saisir leurs dépenses régulièrement, ce qui pourrait les échapper.
Il pourrait être utile pour vous de mettre en œuvre une fonctionnalité de rappel. Ainsi, l'application enverra une notification à certaines heures du jour ou de la semaine, leur rappelant d'utiliser le suivi des dépenses.

Idées de projets en ligne de commande

Dans cette section, vous verrez des idées de projets pour la ligne de commande. Les idées de projet discutées peuvent être classées comme des outils d’utilité.

Voici les idées de projet:

  • Livre de contact
  • Vérificateur de connectivité de fichier
  • Outil de renommage de fichiers en bloc
  • Générateur d'arborescence de répertoires

Livre de contact

Nous rencontrons beaucoup de gens tous les jours. Nous faisons des connaissances et des amis. Nous demandons à leurs contacts de rester en contact ultérieurement. Malheureusement, garder les détails de contact reçus peut être difficile. Une façon de faire est d'écrire les détails du contact. Mais ce n’est pas sûr car le livre physique peut facilement être perdu.

C’est là que le projet de carnet de contacts entre en jeu. Un carnet de contacts est un outil permettant d’enregistrer les détails d’un contact, tels que son nom, son adresse, son numéro de téléphone et son adresse électronique. Avec ce projet de répertoire, vous pouvez créer un outil logiciel que les utilisateurs peuvent utiliser pour enregistrer et rechercher des détails de contact.

Avec l'idée de projet de carnet de contacts, les utilisateurs peuvent enregistrer leurs contacts avec moins de risque de perdre les détails de contact enregistrés. Il sera toujours accessible depuis leur ordinateur, via la ligne de commande.

Exemples d'outils Contact Book

Il existe des applications Contact Book, mais il est rare de trouver des produits Contact Book en ligne de commande, car la plupart sont des applications Web, mobiles ou à interface graphique.

Voici quelques implémentations de l'idée de contact book:

Détails techniques

L'objectif principal de ce projet est de sauvegarder les coordonnées. Il est important que vous configuriez les commandes que les utilisateurs peuvent utiliser pour entrer les détails du contact. Vous pouvez utiliser le argparse ou Cliquez sur cadres de ligne de commande. Ils font abstraction de nombreux éléments complexes, il suffit donc de se concentrer sur la logique à exécuter lors de l’exécution de commandes.

Certaines fonctions à implémenter incluent les commandes permettant de supprimer des contacts, de mettre à jour les informations de contact et de répertorier les contacts enregistrés. Vous pouvez également permettre aux utilisateurs de répertorier les contacts à l'aide de différents paramètres, tels que l'ordre alphabétique ou la date de création du contact.

Comme il s’agit d’un projet en ligne de commande, la base de données SQLite convient parfaitement à la sauvegarde des contacts. SQLite est facile à configurer. Vous pouvez enregistrer les détails du contact dans un fichier, mais un fichier n'offrira pas les avantages que vous pouvez tirer de l'utilisation de SQLite, tels que les performances et la sécurité.

Pour utiliser la base de données SQLite dans ce projet, le programme Python sqlite3 module sera très utile.

Défi supplémentaire

Rappelez-vous comment la base de données est stockée sur l’ordinateur de l’utilisateur? Que se passe-t-il si quelque chose se passe, par exemple, l'utilisateur perd ses fichiers? Cela signifie qu’ils vont également perdre leurs coordonnées.

Vous pouvez vous lancer un défi supplémentaire et sauvegarder la base de données sur une plate-forme de stockage en ligne. Pour ce faire, vous pouvez télécharger les fichiers de base de données dans le cloud à certains intervalles.

Vous pouvez également ajouter une commande permettant aux utilisateurs de sauvegarder eux-mêmes la base de données. De cette façon, l'utilisateur peut toujours avoir accès aux contacts si le fichier de base de données est perdu.

Notez que vous aurez peut-être besoin d'une forme d'identification pour que le carnet de contacts puisse indiquer quel fichier de base de données appartient à quel utilisateur. L'implémentation d'une fonctionnalité d'authentification d'utilisateur est un moyen d'y parvenir.

Vérificateur de connectivité de site

Lorsque vous visitez une URL, vous vous attendez à obtenir les pages demandées sur votre navigateur. Mais ce n'est pas toujours le cas. Parfois, les sites peuvent être en panne, de sorte que vous n'obtiendrez pas les résultats souhaités. Au lieu de cela, vous recevrez des messages d'erreur. Vous pouvez continuer à essayer un site qui est en panne jusqu'à ce qu'il apparaisse et que vous obteniez les informations dont vous avez besoin.

C’est ici que le projet Vérificateur de connectivité au site entre en jeu. Le vérificateur de connectivité au site visite une URL et renvoie son statut: il est actif ou non. Le vérificateur de connectivité du site visitera l'URL à intervalles réguliers, en renvoyant les résultats de chaque visite.

Au lieu de visiter manuellement une URL, un vérificateur de connectivité de site peut effectuer tout ce travail manuellement à votre place. Ainsi, vous obtiendrez uniquement les résultats de la vérification sans passer de temps sur le navigateur, à attendre que le site soit mis en ligne.

Exemples de vérificateurs de connectivité de site

Voici quelques implémentations de l'idée du vérificateur de connectivité de site:

Détails techniques

L'objectif principal de ce projet est de vérifier l'état des sites. Donc, vous devez écrire du code pour vérifier le statut d'un site web.

Vous pouvez choisir d'utiliser TCP ou ICMP pour vos connexions. le prise module est un à vérifier. Vous pouvez également lire Socket Programming in Python (Guide).

À travers le cadre que vous avez choisi, que ce soit le docopt, Cliquez sur, ou argparse cadre, vous pouvez ajouter des commandes pour permettre aux utilisateurs d’ajouter et de supprimer des sites de la liste des sites à vérifier.

Les utilisateurs doivent également être en mesure de démarrer l'outil, de l'arrêter et de déterminer les intervalles.

Étant donné que vous devez enregistrer la liste des fichiers à vérifier, vous pouvez soit l'enregistrer dans un fichier (une liste de sites uniquement), soit utiliser une base de données SQLite à l'aide du programme. sqlite3 module.

Défi supplémentaire

L'application peut vérifier l'état de connectivité des sites et afficher les résultats sur la ligne de commande. Mais cela nécessitera que l'utilisateur continue à vérifier la ligne de commande.

Vous pouvez augmenter le défi et implémenter une fonctionnalité de notification. La fonction de notification peut être un son joué en arrière-plan pour alerter l’utilisateur lorsque le statut d’un site change. Vous aurez besoin d’une base de données pour stocker l’état précédent d’un site. C’est la seule façon pour l’outil de savoir quand le statut change.

Outil de renommage de fichiers en bloc

Parfois, vous devez nommer tous les fichiers d’un répertoire conformément à certaines conventions. Par exemple, vous pouvez nommer tous les fichiers d’un répertoire avec File0001.jpg, où les nombres augmentent en fonction du nombre de fichiers dans le répertoire. Faire cela manuellement peut être stressant et répétitif.

L'outil de renommage de fichiers en bloc permet aux utilisateurs de renommer un grand nombre de fichiers sans avoir à les renommer manuellement.

Cela fait gagner beaucoup de temps aux utilisateurs. Cela leur évite d'avoir à faire un travail répétitif ennuyeux et à faire des erreurs. Avec l'outil de renom de fichiers en bloc, les utilisateurs peuvent renommer des fichiers en quelques secondes sans erreur.

Exemples d'outils de renommage de fichiers en bloc

Voici quelques implémentations de l'idée de renommage de fichiers en bloc:

Détails techniques

L'objectif principal de cette idée de projet est de renommer les fichiers. Ainsi, l’application doit trouver un moyen de manipuler les fichiers cibles. le os, sys, et fermer les bibliothèques seront utiles pour une grande partie de ce projet.

Vos utilisateurs pourront renommer tous les fichiers du répertoire, en utilisant des conventions de dénomination. Par conséquent, ils devraient pouvoir passer à la convention de choix des noms. le regex module aidera à faire correspondre les modèles de dénomination requis, si vous comprenez le fonctionnement de regex.

Un utilisateur peut souhaiter passer une convention de dénomination telle que mes dossiers dans le cadre des commandes et attendez-vous à ce que l'outil renomme tous les fichiers comme myfilesXYZ, où XYZ est un nombre. Ils devraient également pouvoir choisir le répertoire dans lequel se trouvent les fichiers à renommer.

Défi supplémentaire

Le principal défi de ce projet est de renommer tous les fichiers d’un répertoire. Mais les utilisateurs n'auront peut-être besoin que de nommer un certain nombre de fichiers. Pour tester vos compétences, vous pouvez implémenter une fonctionnalité permettant aux utilisateurs de choisir le nombre de fichiers à renommer, au lieu de tous les fichiers.

Notez que pour renommer uniquement un certain nombre de fichiers, l'outil doit trier les fichiers en fonction de l'ordre alphabétique, du moment de la création du fichier ou de la taille du fichier, en fonction des besoins de l'utilisateur.

Générateur d'arborescence de répertoires

Directories are like family trees: each directory has a particular relationship with other directories. No directories ever stays on its own, except an empty root directory.

When you’re working with files and directories, it is difficult to see the relationship between directories, as you can only see what exists in the current directory. You’re either using a file manager or working from the command-line.

With a Directory Tree Generator, you can see the relationship between files and directories like a tree or a map.

This makes it easier to understand the positioning of files and directories. A directory tree map is important when you’re explaining certain concepts, and a Directory Tree Generator makes it easier to get a visual representation of the file and directory relationships.

Examples of Directory Tree Generators

Here are some implementations of the Directory Tree Generator idea:

Technical Details

The main objective of the Directory Tree Generator is to visualize the relationships between files and directories. le os library can be very useful in listing the files and directories in a chosen directory.

Using a framework such as docopt ou argparse helps abstract a lot of stuff, allowing you to focus on writing code for the application’s logic.

In the application’s logic, you can decide how you want to represent files or directories. Using different colors is a brilliant way to go about it. You can use the coloré library to print the files and directories in different colors.

You can also decide how deep you’d like the Directory Tree Generator to go. For example, if a directory has children directories twelve levels deep, you may decide to go only as deep as the fifth level.

If you wish, you can also let the user decide how deep they want the Directory Tree Generator to go.

Extra Challenge

Since the results of the generated directory tree will be on the command-line, you can go one step further. You can have the generator create images of the directory tree, so it’ll basically turn the text into an image.

You’ll find the oreiller library useful for doing this.

Tips for Working on Projects

Working on projects can be difficult. That’s one reason why motivation and interest in a project will make it a less daunting task.

If you’re interested in a project, you’ll be able to put in the time to research as well as find libraries and tools that will help you with the project.

Here are some tips:

  • Find a source of motivation
  • Break the project into subtasks
  • Do research on the subtasks
  • Build each subtasks, one step at a time
  • Reach out for help if you’re stuck
  • Put the subtasks together

Conclusion

In this article, you’ve seen a couple of Python project ideas you may find interesting.

The project ideas cover a range of platforms. You saw project ideas for the Web, GUI, and Command-line platforms.

You can choose to build a project for different platforms. Using the URL Shortener as an example, you may choose to build one for the Web, GUI, or the Command-line.

Since you’re an intermediate Python developer, these projects can be quite challenging but interesting.

The best way to make a project happen is to just get started. In no time, you’ll be finished and discover how much you’ve benefited from working on a project!